Исправить программу. она должна вычислять среднее арифметическое всех чисел в массиве меньших 50. вот программа: program zadacha; uses crt; var a: array[1..1000] of integer; c,i,n,s : integer; s1: real; begin; clrscr; writeln("введите размерность массива); readln(n); writeln('введите массив'); for i: =1 to n do begin a[i]: =random(100); if a[i]< 50 then begin inc(c); s: =s+a[i]; end; s: =s+a[i]; s1: =s/n; writeln('массив a: '); for i: =1 to n do write(a[i]: 4); writeln; writeln('среднее арифметическое равно=',s1); end; end.
137
425
Ответы на вопрос:
Ошибки: 1) writeln("введите размерность массива); - здесь опечатка (пропущены кавычки), должно быть writeln('введите размерность массива'); 2) writeln('введите массив'); - пользователь не вводит массив, здесь надо написать writeln('создаём '); 3) перед циклом нужно определить начальные значения переменных с и s c: =0; s: =0; 4) у первого цикла есть begin, но нет end 5) s: =s+a[i]; эта команда повторяется дважды - второй раз (после if) не нужен 6) лишний end; (предпоследняя строка программы) и ещё не ошибки, а два совета: 1) пользуйся отступами, тогда лучше видно структуру программы. когда все команды идут подряд в одной строке, легко запутаться. 2) при выводе среднего арифметического используй формат вывода s1: 0: 2 тогда результат будет округлён до двух знаков после запятой, и не будет таких монстров вроде 16.65432468734246873435 исправленная программа: program zadacha; uses crt; var a: array[1..1000] of integer; c,i,n,s : integer; s1: real; begin; clrscr; writeln('введите размерность массива'); readln(n); writeln('создаём '); c: =0; s: =0; for i: =1 to n do begin a[i]: =random(100); if a[i]< 50 then begin inc(c); s: =s+a[i]; end; end; s1: =s/n; writeln('массив a: '); for i: =1 to n do write(a[i]: 4); writeln; writeln('среднее арифметическое равно=',s1: 0: 2); end.
Var a: array[1..1000] of integer; c,i,n,s : integer; s1: real; begin; readln(n); for i: =1 to n do begin a[i]: =random(100); if a[i]< 50 then begin inc(c); s: =s+a[i]; end; end; s1: = s/c; for i: =1 to n do write(a[i]: 4); writeln; writeln(s1); end.исправила, все работает, только добовьте ваш модуль crt обратно и поясняющие writeln'ы
1) 2*3 = 6 (2) 2) 6-1 = 5 (1) 3) 5*3 = 15 (2) 4) 15-1 = 14 (1) 5) 14-1 = 13 (1) 21211
Популярно: Информатика
-
cadova28.02.2023 21:03
-
яждупомощи21.05.2021 08:14
-
валера20033117.12.2022 15:10
-
Mariecharlaii03.12.2020 23:18
-
angel02058018.02.2023 18:13
-
Yaroslav164028.05.2022 21:42
-
esketit129.08.2020 14:58
-
simonlol9805.12.2021 17:19
-
arte676704.09.2022 13:55
-
Alica265302.02.2022 19:45