Есть ответ 👍

Исправить программу. она должна вычислять среднее арифметическое всех чисел в массиве меньших 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
Посмотреть ответы 3

Ответы на вопрос:

vegyan0000
4,4(22 оценок)

Ошибки: 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

Популярно: Информатика