PascalABC.NET 3.3
program journal;
var
sum, mark, count, n: integer;
check: boolean;
begin
sum := 0;
check := true;
count := 0;
writeln('Введите количество оценок: ');
readln(n);
if (n > 0) then begin
while (count <> n) do
begin
readln(mark);
inc(sum, mark);
if (mark < 4 ) then check := false;
inc(count);
if (count = n) then writeln('Ввод окончен!');
end;
end else writeln('Error!');
if ((check) and (sum > 0) and (n > 0)) then writeln('Ты молодец!');
end.
main()
{
int x;
int n=0;
int a=20;
int b=50;
FILE *fin, *fout;
fin = fopen( "input.dat", "r" );
fout = fopen( "output.dat", "w" );
while (fscanf(fin, "%d", &x) == 1) {
if ((x >= a)&&(x <= b)) {
fprintf ( fout, "%d\n", x );
n++;
}
}
fprintf ( fout, "%d\n", n);
fclose ( fout );
fclose ( fin );}
Пример:
Файл input.dat
58
43
12
97
21
65
34
72
53
Файл output.dat:
43
21
34
3