Помогите чуть с кодом))

Обсуждаем вопросы, не касающиеся КПК. Только для постоянных участников форумов.
Закрыто
Аватара пользователя
**kirill
Нобелевский лауреат (7 lvl)
Сообщения: 3483
Зарегистрирован: Пн авг 21, 2006 18:56

Помогите чуть с кодом))

Сообщение **kirill » Чт апр 09, 2009 12:48

Задача
Даны целые массивы 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+

Аватара пользователя
**kirill
Нобелевский лауреат (7 lvl)
Сообщения: 3483
Зарегистрирован: Пн авг 21, 2006 18:56

Сообщение **kirill » Чт апр 09, 2009 12:56

форматирование не сохранилось...
В архиве .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+

Аватара пользователя
Daess
Нобелевский лауреат (7 lvl)
Сообщения: 4281
Зарегистрирован: Пт сен 02, 2005 19:51

Сообщение Daess » Чт апр 09, 2009 16:51

На первый взгляд у тебя преобразование вообще не то делает. Тебе надо заменить первый отрицательный элемент, а ты меняешь просто первый элемент массива, причем в особо извращенной форме:
**kirill писал(а):for (int i=0; i<I; i++)
{
if (M<0)
y++;
}

Вот тут посчитал отрицательные, согласился.
**kirill писал(а):if ((y>2)&& (t=0))
{M=K;
t++;};
}
А это условие: "если отрицательных больше двух и какое-то t равно нулю, то текущий элемент массива заменить указанным числом K" - что в общем-то совсем не то. Если учесть, что прокатит только первая итерация цикла, после чего t увеличится, то будет изменен первый элемент, а не первый отрицательный. Вот.
MacBook Pro 13" + new iPad 32Gb/4G + iPhone 5s + Klipsch Image x10i

Аватара пользователя
**kirill
Нобелевский лауреат (7 lvl)
Сообщения: 3483
Зарегистрирован: Пн авг 21, 2006 18:56

Сообщение **kirill » Чт апр 09, 2009 17:20

ой... а я не заметил что ты ответил... СПАСИБО
ЗАработало только что. Пришлось правда на работе найти громадный талмуд по С++ и вкуривать где и в какой функции накосячил. Переделал полностью "ввод переменной")) Ну и сам отбор поправил.. там вообще глупо накосячил...
Ну это уже крыша поехала немного. На бумажке прорисовал кучу всего, а в код забыл вставить ))
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+

Аватара пользователя
**kirill
Нобелевский лауреат (7 lvl)
Сообщения: 3483
Зарегистрирован: Пн авг 21, 2006 18:56

Сообщение **kirill » Чт апр 09, 2009 19:51

А я не блок схему...
Просто алгоритм расписывал на бумажке))))
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+

Аватара пользователя
Darkcat
Темная личность
Сообщения: 22508
Зарегистрирован: Чт янв 13, 2005 12:38

Сообщение Darkcat » Пт апр 10, 2009 00:07

Нечто
Под БГ косим? Они тоже за год понакодят, потом 5 лет сервис-паки клепают...
Нет, только не кошки. Не верь им. Их глаза. Их глаза. Они знают слишком много.
Нешто спи обратно.

Аватара пользователя
Новый папа
Нобелевский лауреат (7 lvl)
Сообщения: 18916
Зарегистрирован: Сб июн 11, 2005 10:16

Сообщение Новый папа » Пт апр 10, 2009 00:19

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


P.S. У меня на столе блокнот и большая тетрадь. Пользуюсь регулярно.
Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков

Аватара пользователя
**kirill
Нобелевский лауреат (7 lvl)
Сообщения: 3483
Зарегистрирован: Пн авг 21, 2006 18:56

Сообщение **kirill » Пт апр 10, 2009 00:44

Новый папа
я при глюках беру бумажку и полностью на бумажке рассписываю как будет работать хренатень будет. Где то на втором элементе цикла понимаю в чем ошибка и исправляю..
Просто понял что у меня с програмированием какие-то траблы в голове непонятные. Поэтому теперь за чай и шоколадки прорешиваю контрольные всем одногрупникам. И мне тренировка и руконабитие и им "польза"....
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+

Аватара пользователя
Daess
Нобелевский лауреат (7 lvl)
Сообщения: 4281
Зарегистрирован: Пт сен 02, 2005 19:51

Сообщение Daess » Пт апр 10, 2009 06:36

Хм, я очень редко пользуюсь подручными средствами, нет лучше тетради, чем открытое окно IDE:) А если что-то не пашет - вот вам ошибки, предъявляемые компилятором + режим пошаговой отладки - враг не пройдет!
MacBook Pro 13" + new iPad 32Gb/4G + iPhone 5s + Klipsch Image x10i

Аватара пользователя
**kirill
Нобелевский лауреат (7 lvl)
Сообщения: 3483
Зарегистрирован: Пн авг 21, 2006 18:56

Сообщение **kirill » Пт апр 10, 2009 08:58

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+

Аватара пользователя
-KosMos-
Нобелевский лауреат (7 lvl)
Сообщения: 7291
Зарегистрирован: Вт мар 22, 2005 00:38

Сообщение -KosMos- » Пт апр 10, 2009 09:52

Нечто писал(а):Не думается просто с бумажкой.
Ты, видимо, неправильную бумажку используешь. Слишком жёсткую, или пачкучую, или царапучую. Воспользуйся специальной, которая уже в готовых рулонах продаётся. Не пожадничай, попробуй...
:)
Иногда - кажется. Приходится креститься.

Аватара пользователя
Daess
Нобелевский лауреат (7 lvl)
Сообщения: 4281
Зарегистрирован: Пт сен 02, 2005 19:51

Сообщение Daess » Пт апр 10, 2009 16:34

Пипифакс однако:)
MacBook Pro 13" + new iPad 32Gb/4G + iPhone 5s + Klipsch Image x10i

Закрыто

Вернуться в «[OFF] Оффтопики не про КПК»