![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Мне задали сделать лабу по массивам в С++, лабораторная очень простая по своеё сути, вот условие:
В массиве, содержащем не более 21 числа, подсчитать среднее арифметическое для положительных элементов. Если среднее больше заданного числа, положительные элементы исходного массива уменьшить на это число, а отрицательные - увеличить. Найти максимальный элемент полученного массива и его номер. Формат числа ±цц.ц. Результаты распечатать в виде: Исходный массив: …………………………………………………… Заданное число …….…….. Среднее для положительных элементов …….. Полученный массив …………………………………………………… Номер максимума …. помогите плиз кто знает...в долгу не останусь ![]() Пасиб ![]() |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Модератор: Название темы должно отражать ее суть!
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 2 Всего: 22 |
SIMarOK
чем помочь то?программу написать? за это деньги берут ;) |
|||
|
||||
SIMarOK |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Сорри, не знал...исправлюсь ![]() Добавлено @ 15:44
Сколькож это стоить будет? Это ведь даже не программа...а просто алгоритм для детей ![]() Добавлено @ 15:45 помоголиб бедному студенту первого курса ![]() ![]() Это сообщение отредактировал(а) SIMarOK - 26.10.2004, 15:45 |
||||||
|
|||||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
модуль расчета
Добавлено @ 16:09 тут можно еще долго извращаться над моим кодом, оптимизировать его... избовляться от лишних циклов, но думаю вам это не нужно -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Сейчас попробую разобраться, спасибо за помощь
![]() |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
если что спрашивайте, я не расписывал как ввести и вывести результат, т.к. с консолью давно не работал... -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Вот что я пока дополнил, теперь осталось сделать вывод результатов с очисткой экрана
![]()
Это сообщение отредактировал(а) SIMarOK - 26.10.2004, 16:58 |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Вот посмотрите пожалуйста, почему то он выводит sr равное нулю, хотя поидее оно должно быть не нулем, где то ошибка...И номер максимума пишет тоже 0. И как сделать так чтобы он напечатал все значении массивов в строчку?
Это сообщение отредактировал(а) SIMarOK - 26.10.2004, 17:32 |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
каретку переводить не надо...
как ты сейчас выводишь... код покажи -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Вот
Это сообщение отредактировал(а) SIMarOK - 26.10.2004, 17:47 |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
float sum;
заменить float sum=0; внимательнее надо быть ![]() а он и должен значения массива у тебя в строку гнать for (i=0;i<21;i++){ if (mas[i]>max){ max=mas[i]; kol=i; } - вот тут нехватает еще фигурной скобки.... а в конце проги убрать одну надо clrscr(); блин да у тебя наверное хаос при выводе творился Добавлено @ 17:57 и ноль у тебя потомучто scanf("%d", &mas[i]); а нужно scanf("%f", &mas[i]); -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
||||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
и еще одна ошибка
printf("mas[%d]=%.02f ", i, mas[i]); -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Во, теперь выводит, спасибо ![]() Это сообщение отредактировал(а) SIMarOK - 26.10.2004, 18:12 |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
вообщем рабочий код
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Но вот нашел еще одну проблему: он когда выводит массив, то пишет уменьшенные числа на загаданное число...т.е. как то надо сделать чтоб он выводил исходные....
|
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
все правельно
вставь вот это printf("Isxodniy massiv: "); for (i=0; i<21; i++) { printf("mas[%d]=%.02f ", i, mas[i]); } еще и сразу после этого printf("Vvedite 4islo\ng=", g); scanf("%f", &g); и очистку экрана не забудь перенисти -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Всё, большое спасибо тебе Step, помог новичку
![]() Вот собственно что получилось в итоге ![]()
|
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
А можно ли этот как-то представить ввиде функций?
Это сообщение отредактировал(а) SIMarOK - 27.10.2004, 22:46 |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
можно, что именно
Добавлено @ 11:04 можно все, можно по частям, с целью повторного использования... да можно все что угодно творить, главное цель какая -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Нужно представить этот код с функциями...вот типо плана:
float mas[21] Do ввод пользователем i while 1<i<=21 Функции: 1) Ввод массива 2) Вывод 3) Нахождение sr 4) преобразование массива А распечатка результатов, в виде заданном в условии, в самом низу |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
дам пример одной функции, а там ковыряй дальше уже сам...
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
В чем здесь ошибка? После заполнения массива он выводит ошибку "что вызвал общую ошибку защиты вмодуле ....exe в 0001:01А6 |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
поставь в конце эту функцию в начале оставь только вот такую строчку void massivShnik(int k); и удали из функции вот эту строчку float mas[21]; -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
SIMarOK |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Ошибка всеровно выскакивает...а если убрать float mas[21]; то вообще в компиле выявляет ошибку об не объявленной переменной |
||||
|
|||||
SIMarOK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 25.10.2004 Репутация: нет Всего: нет |
Помогите плиз ктонибудь переделать эту программу тоже с функциями...ну никак не выходит...я пробывал делать, но у меня распечатка не работает...
Спасибо. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |