[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 17 | 4 | 6
Назад Вниз Каталог Обновить

Аноним 14/03/17 Втр 20:14:43  148805663  
31791.p.jpg (23Кб, 240x261)
Аноны прогроместы, помогите с задачкой по паскалю: Написать программу нахождения среднего значения среди положительных элементов массива
Что то накидал но препод говорит это не правильно:
var
c, i, s: integer;
a: array[1..10] of integer;
begin
writeln ('введите');
readln(c);
s:=0;
for i:=1 to c do
begin
writeln ('введите', i, 'элемент');
readln (a);
if a>0 then
s:=s+a;
end;
writeln (s/c);
readln;
end.
Аноним 14/03/17 Втр 20:16:32  148805795
pask.png (6Кб, 288x297)
>>148805663 (OP)
строчки кода потерялись, вот скрин
Аноним 14/03/17 Втр 20:17:04  148805823
ты делишь на кол-во, а надо на кол-во положительных элементов еблан
Аноним 14/03/17 Втр 20:22:35  148806187
>>148805823
нихуя не понял, я не шарю анон
Аноним 14/03/17 Втр 20:27:09  148806454
>>148805663 (OP)
Всегда интересовало: настоящее программирование хоть немного похоже на ту хуиту, что нам давали в школе или её чисто как прикладную математику преподают?
Аноним 14/03/17 Втр 20:27:24  148806475
>>148806187
в цикле считай кол-во положительных элементов.
И потом дели сумму на кол-во.
Аноним 14/03/17 Втр 20:28:39  148806546
>>148805663 (OP)
Во-первых, правильнее будет сперва считать массив, а потом уже найти среднее арифметическое, т.е. сперва отдельный цикл:

for i:=1 to c do
begin
writeln ('введите', i, 'элемент');
readln (a);
end

Потом то, как ты находишь среднее арифметическое. Если тебе нужно найти среднее арифметическое положительных чисел, то и делить нужно не на количество всех чисел в массиве (т.е. с), а только на количество положительных, которое ты будешь узнавать прямо в том же цикле:

k : integer;

...

k := 0;
for i:=1 to c do
if a>0 then
begin
s := s + a;
k := k + 1;
end;
writeln (s/k);
Аноним 14/03/17 Втр 20:32:48  148806800
>>148806546
Анон, я нихуя в этом не шарю, можешь просто окончательный код написать?
Аноним 14/03/17 Втр 20:32:50  148806803
Долбоебы одни в треде, держи.

var
c, i, s,kolvo: integer;
a: array[1..10] of integer;
begin
writeln ('введите');
readln(c);
s:=0;
for i:=1 to c do
begin
writeln ('введите', i, 'элемент');
readln (a); // fix
if a>0 then // fix too
s:=s+a; // fix
inc(kolvo); // колво положительных чисел
end;
writeln (s/kolvo);
readln;
end.
Аноним 14/03/17 Втр 20:34:13  148806886
>>148806803
Абу, блять.
После переменоой a поставь ебаные квадратные скобки с переменной i
Аноним 14/03/17 Втр 20:35:49  148806979
>>148806803
У тебя увеличение количества вне ифа, ты считаешь количество всех элементов, долбоёб. А ещё переменные называешь по-мудацки.
Аноним 14/03/17 Втр 20:37:10  148807067
>>148806979
ну бля, да, переделывать надо.
Аноним 14/03/17 Втр 20:38:42  148807163
Аноним 14/03/17 Втр 20:39:18  148807202
>>148806803
анон, твой код и отрицательные числа учитывает
Аноним 14/03/17 Втр 20:39:24  148807213
>>148806800
За щекой у тебя написал, тебе осталось только зеркало поставить перед собой.
Аноним 14/03/17 Втр 20:40:10  148807264
>>148807202
>>148807163
Тут все работает нормально
Аноним 14/03/17 Втр 20:49:04  148807842
>>148807264
анон, а как можно строчку inc чем-нибудь заменить? Мы как то по другому пишем, преподаватель заметит а-то
Аноним 14/03/17 Втр 20:50:15  148807922
>>148807842
kolvo:=kolvo+1;

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 17 | 4 | 6
Назад Вверх Каталог Обновить

Топ тредов
Избранное