Допустим у тебя не список, а массив, по сути то же самое
Создаёшь второй массив той же длинный
Заполняешь его нулями через for
Снова пишешь цикл for по первому массиву, через оператор if проверяешь делиться ли число на 3. Если не делится пишешь условие что во второй массив засовываешь число.
Делаешь третий цикл for, и если число не равно нулю то записываешь в третий массив, с использованием continue, иначе делаешь break.
2) Опять делаешь массив for, и если число меньше семи выводишь, иначе делаешь break.
Неверный код:
program n9;
var v2,v3,v4,v5,i,st: integer;
m: array[1..20] of integer;
begin
st:= 20;
writeln('Количество учеников: ',st);
for i:= 1 to 20 do
begin
write('Введите оценку ',i,' ученика: ');
readln(m[i]);
if m[i] == 2 then v2:= v2 + m[i];
if m[i] == 3 then v3:= v3 + m[i];
if m[i] == 4 then v4:= v4 + m[i];
if m[i] == 5 then v5:= v5 + m[i];
end;
end.
Верный код:
program n9;
var v2,v3,v4,v5,i, КОЛИЧЕСТВО УЧЕНИКОВ В ЦИФРАХ integer;
m: array[1..20] of integer;
begin
st:= 20;
writeln
for i:= 1 to 20 do
begin
write
readln(m[ОЦЕНКА УЧЕНИКА В ЦИФРАХ]);
if m[ОЦЕНКА УЧЕНИКА В ЦИФРАХ] == 2 then v2:= v2 + m[ОЦЕНКА УЧЕНИКА В ЦИФРАХ];
if m[ОЦЕНКА УЧЕНИКА В ЦИФРАХ] == 3 then v3:= v3 + m[ОЦЕНКА УЧЕНИКА В ЦИФРАХ];
if m[ОЦЕНКА УЧЕНИКА В ЦИФРАХ] == 4 then v4:= v4 + m[ОЦЕНКА УЧЕНИКА В ЦИФРАХ];
if m[ОЦЕНКА УЧЕНИКА В ЦИФРАХ] == 5 then v5:= v5 + m[ОЦЕНКА УЧЕНИКА В ЦИФРАХ];
end;
end.
Объяснение:
Не знаю какой язык ЯП, поэтому:
Допустим у тебя не список, а массив, по сути то же самое
Создаёшь второй массив той же длинный
Заполняешь его нулями через for
Снова пишешь цикл for по первому массиву, через оператор if проверяешь делиться ли число на 3. Если не делится пишешь условие что во второй массив засовываешь число.
Делаешь третий цикл for, и если число не равно нулю то записываешь в третий массив, с использованием continue, иначе делаешь break.
2) Опять делаешь массив for, и если число меньше семи выводишь, иначе делаешь break.