Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение: 1)Cначала заполняем массив случайными числами от 2 до 5 (включительно) 2)Потом выводим его (Для проверки) 3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:
program N_0547847; var b, c, d, f, i:integer; a: array [1..20] of integer; begin; randomize; b:=0; c:=0; d:=0; f:=0; for i:=1 to 20 do begin a[i]:=random(4)+2; write(a[i],' '); end; writeln; for i:=1 to 20 do begin if a[i]=2 then b:=b+1; if a[i]=3 then c:=c+1; if a[i]=4 then d:=d+1; if a[i]=5 then f:=f+1; end; writeln('Двоек: ', b); writeln('Троек: ', c); writeln('Четверок: ',d); writeln('Пятерок: ',f); end.
Var a: array of integer; // Объявление массива целых чисел i, n: integer; // объявление целочисленных переменных begin // Запросим с клавиатуры размер массива // и запишем его в переменную n write('введите n:'); readln(n);
// Теперь выделим память под n элементов массива SetLength(a, n);
// теперь запросим с клавиатуры n чисел для массива for i := 0 to n-1 do begin write('a[', i, ']='); readln(a[i]); end;
// теперь в цикле уменьшим каждый элемент на единицу for i := 0 to n-1 do a[i] := a[i] - 1;
// распечатаем массив for i := 0 to n-1 do write(a[i], ' '); end.