Пусть ученик неуспевающий, если сумма его отметок меньше 2+2+3+3=10.
var count_losers, sum, current_sum, mark, i, j, n: integer;
begin read(n); count_losers := 0; for i := 1 to n do begin current_sum := 0; for j := 1 to 4 do begin read(mark); current_sum := current_sum + mark; end; if current_sum < 10 then inc(count_losers); sum := sum + current_sum; end; writeln('Неуспевающих учеников: ', count_losers); writeln('Средняя сумма четырёх отметок: ', sum / n); writeln('Средняя отметка: ', sum / 4 / n); end.
Пример ввода: 4 2 2 2 5 2 2 5 2 2 5 2 2 3 2 2 2
Пример вывода: Неуспевающих учеников: 1 Средняя сумма четырёх отметок: 10.5 Средняя отметка: 2.625
rinan2013
04.04.2020
Для того, чтобы узнать, не встречалось ли 20-е число раньше, надо помнить, какие числа были до этого. Так что без массива с меньшим размером, чем 19, не обойтись (на самом деле это так, только если в каждом элементе массива хранить только одно число. Но мы так и будем делать).
Алгоритм для решения задачи выберем простой: записываем все предыдущие числа в массив и для каждого следующего числа проходим по массиву.
var a: array[1..19] of byte; i, j, t: byte;
begin for i := 1 to 20 do begin read(t); if i < 20 then a[i] := t; for j := 1 to i - 1 do if a[j] = t then t := 0; if t > 0 then write(t, ' '); end; end.
ЭВМ - סּ ٤קּ 1 ·, ฬᚨ ᚩ ᚪ ᚫ ᚳᚴᚵᚶᚷᚸᚹ, ∫ Ξ§ , ∫ Љ ط ΩЉᚱ ᚱ Ω ∫ Ξ.
Телефон - ᚕᚖᚠᚡ, ᚢ ᚕᚖᚠ, ᚢᚤᚥᚦᚭᚮᚲ ᚳᚴᚵᚶᚷᚸᚹ, ᚺᚻᚼᚽ, ᚾᚿᛁᛃᛄ, ᛅᛆᛇᛈ ᛉᛊᛋ ᛏ ᛑᛒᛓᛔᛕ ᛝᛞᛟ, ᛠᛡ ᚪᚫ๓.
Компьютер - ᛤᛥᛦ, ᛩᛪᛮᛯᛰ, ᚯ ᚰᛖ ᛗ∫Љᛘ ᛚᛛᛜ, ᚧ, ᚬᚪᚫ ๓, ٤קּ.