Помогите чуть с кодом))
Помогите чуть с кодом))
Задача
Даны целые массивы A[5], B[5] и значения R и F. Каждый массив пpеобpазовать по пpавилу: если отpицательных элементов в массиве больше 2, то пеpвый по поpядку отpицательный компонент заменить на значение R (для массива А) и значение F (для массива B). В пpотивном случае массив оставить без изменений.
Мой вопрос)
Почему у меня функция преобразования не работает?
Знаю что немнорго по извращенски написанно, и можно оптимальней сделать... Но я по глупости сначало сделал подобную задачу одногрупнице. Теперь два одинаковых кода запалить могут. Компилятор visual C++
кодик
#include <iostream>
using namespace std;
const int I=5;
void vvodmass (int , char);
void vvodper (int, char);
void preobr (int , int);
void pech (int );
int main()
{
int A, B, R, F;
R=0;
F=0;
vvodmass(A,'A');
vvodmass(B,'B');
vvodper(R,'R');
vvodper(F,'F');
preobr(R,A);
preobr(F,B);
pech(A);
cout<<"\n";
pech(B);
return 0;
}
void vvodmass (int M, char im)
{
cout<<"vvodim macciv"<<im<<"\n";
for (int i=0; i<I; i++)
{
cout<<"vvodim element ["<<i<<"]";
cin>>M;
}
}
void vvodper (int K, char im)
{
cout<<"vvedite 4iclo dla preobrazovaniya"<<im;
cin>>K;
}
void preobr (int K, int M)
{
int y, t;
y=0;
t=0;
for (int i=0; i<I; i++)
{
if (M<0)
y++;
}
for (int i=0; i<I; i++)
{if ((y>2)&& (t=0))
{M=K;
t++;};
}
}
void pech (int M[I])
{
for (int i=0; i<I; i++)
{
cout<<M[i];
}
}
Даны целые массивы A[5], B[5] и значения R и F. Каждый массив пpеобpазовать по пpавилу: если отpицательных элементов в массиве больше 2, то пеpвый по поpядку отpицательный компонент заменить на значение R (для массива А) и значение F (для массива B). В пpотивном случае массив оставить без изменений.
Мой вопрос)
Почему у меня функция преобразования не работает?
Знаю что немнорго по извращенски написанно, и можно оптимальней сделать... Но я по глупости сначало сделал подобную задачу одногрупнице. Теперь два одинаковых кода запалить могут. Компилятор visual C++
кодик
#include <iostream>
using namespace std;
const int I=5;
void vvodmass (int , char);
void vvodper (int, char);
void preobr (int , int);
void pech (int );
int main()
{
int A, B, R, F;
R=0;
F=0;
vvodmass(A,'A');
vvodmass(B,'B');
vvodper(R,'R');
vvodper(F,'F');
preobr(R,A);
preobr(F,B);
pech(A);
cout<<"\n";
pech(B);
return 0;
}
void vvodmass (int M, char im)
{
cout<<"vvodim macciv"<<im<<"\n";
for (int i=0; i<I; i++)
{
cout<<"vvodim element ["<<i<<"]";
cin>>M;
}
}
void vvodper (int K, char im)
{
cout<<"vvedite 4iclo dla preobrazovaniya"<<im;
cin>>K;
}
void preobr (int K, int M)
{
int y, t;
y=0;
t=0;
for (int i=0; i<I; i++)
{
if (M<0)
y++;
}
for (int i=0; i<I; i++)
{if ((y>2)&& (t=0))
{M=K;
t++;};
}
}
void pech (int M[I])
{
for (int i=0; i<I; i++)
{
cout<<M[i];
}
}
Palm IIIc-IIIxе;HP2210;Palm TE2;acer n35;Palm TW;HP6515;Qtek s110;Hp 1950;i-mate sp3i; FS LooX 720;Palm TE; Sony Clie SJ20; asus 525; Gsmart i350; Palm m105;Handera 330; PALM TREO 680;Palm m125; Sony clie t610c; celio redfly c8;
eten x500+
eten x500+
форматирование не сохранилось...
В архиве .cpp))
В архиве .cpp))
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Palm IIIc-IIIxе;HP2210;Palm TE2;acer n35;Palm TW;HP6515;Qtek s110;Hp 1950;i-mate sp3i; FS LooX 720;Palm TE; Sony Clie SJ20; asus 525; Gsmart i350; Palm m105;Handera 330; PALM TREO 680;Palm m125; Sony clie t610c; celio redfly c8;
eten x500+
eten x500+
На первый взгляд у тебя преобразование вообще не то делает. Тебе надо заменить первый отрицательный элемент, а ты меняешь просто первый элемент массива, причем в особо извращенной форме:
Вот тут посчитал отрицательные, согласился.
**kirill писал(а):for (int i=0; i<I; i++)
{
if (M<0)
y++;
}
Вот тут посчитал отрицательные, согласился.
А это условие: "если отрицательных больше двух и какое-то t равно нулю, то текущий элемент массива заменить указанным числом K" - что в общем-то совсем не то. Если учесть, что прокатит только первая итерация цикла, после чего t увеличится, то будет изменен первый элемент, а не первый отрицательный. Вот.**kirill писал(а):if ((y>2)&& (t=0))
{M=K;
t++;};
}
MacBook Pro 13" + new iPad 32Gb/4G + iPhone 5s + Klipsch Image x10i
ой... а я не заметил что ты ответил... СПАСИБО
ЗАработало только что. Пришлось правда на работе найти громадный талмуд по С++ и вкуривать где и в какой функции накосячил. Переделал полностью "ввод переменной")) Ну и сам отбор поправил.. там вообще глупо накосячил...
Ну это уже крыша поехала немного. На бумажке прорисовал кучу всего, а в код забыл вставить ))
ЗАработало только что. Пришлось правда на работе найти громадный талмуд по С++ и вкуривать где и в какой функции накосячил. Переделал полностью "ввод переменной")) Ну и сам отбор поправил.. там вообще глупо накосячил...
Ну это уже крыша поехала немного. На бумажке прорисовал кучу всего, а в код забыл вставить ))
Palm IIIc-IIIxе;HP2210;Palm TE2;acer n35;Palm TW;HP6515;Qtek s110;Hp 1950;i-mate sp3i; FS LooX 720;Palm TE; Sony Clie SJ20; asus 525; Gsmart i350; Palm m105;Handera 330; PALM TREO 680;Palm m125; Sony clie t610c; celio redfly c8;
eten x500+
eten x500+
А я не блок схему...
Просто алгоритм расписывал на бумажке))))
Просто алгоритм расписывал на бумажке))))
Palm IIIc-IIIxе;HP2210;Palm TE2;acer n35;Palm TW;HP6515;Qtek s110;Hp 1950;i-mate sp3i; FS LooX 720;Palm TE; Sony Clie SJ20; asus 525; Gsmart i350; Palm m105;Handera 330; PALM TREO 680;Palm m125; Sony clie t610c; celio redfly c8;
eten x500+
eten x500+
- Новый папа
- Нобелевский лауреат (7 lvl)
- Сообщения: 18916
- Зарегистрирован: Сб июн 11, 2005 10:16
это труламеры так делаютНечто писал(а):вот поэтому труъ программеры имеют прямой вывод из башки в программные коды, а всякие блок-схемы рисуют потом по факту в случае требования оных )))

не слушай его, Кирилл
ОйНечто писал(а):Никогда ничего на бумажке не могу записать. Не думается просто с бумажкой. Вот понакодить и разбираться - совсем другое дело )

Про труламеров я погорячился

P.S. У меня на столе блокнот и большая тетрадь. Пользуюсь регулярно.
Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков
Новый папа
я при глюках беру бумажку и полностью на бумажке рассписываю как будет работать хренатень будет. Где то на втором элементе цикла понимаю в чем ошибка и исправляю..
Просто понял что у меня с програмированием какие-то траблы в голове непонятные. Поэтому теперь за чай и шоколадки прорешиваю контрольные всем одногрупникам. И мне тренировка и руконабитие и им "польза"....
я при глюках беру бумажку и полностью на бумажке рассписываю как будет работать хренатень будет. Где то на втором элементе цикла понимаю в чем ошибка и исправляю..
Просто понял что у меня с програмированием какие-то траблы в голове непонятные. Поэтому теперь за чай и шоколадки прорешиваю контрольные всем одногрупникам. И мне тренировка и руконабитие и им "польза"....
Palm IIIc-IIIxе;HP2210;Palm TE2;acer n35;Palm TW;HP6515;Qtek s110;Hp 1950;i-mate sp3i; FS LooX 720;Palm TE; Sony Clie SJ20; asus 525; Gsmart i350; Palm m105;Handera 330; PALM TREO 680;Palm m125; Sony clie t610c; celio redfly c8;
eten x500+
eten x500+
Daess
Ну у меня то задача пока руку набить и научиться так же как компилятор думать)))
Ну у меня то задача пока руку набить и научиться так же как компилятор думать)))
Palm IIIc-IIIxе;HP2210;Palm TE2;acer n35;Palm TW;HP6515;Qtek s110;Hp 1950;i-mate sp3i; FS LooX 720;Palm TE; Sony Clie SJ20; asus 525; Gsmart i350; Palm m105;Handera 330; PALM TREO 680;Palm m125; Sony clie t610c; celio redfly c8;
eten x500+
eten x500+