Таких чисел бесконечное множество. Чисел кратных трем очевидно бесконечно (и даже тех, кто больше 200). И сумма двух или больше из них тоже будет больше 200. И этих чисел бесконечно.
Замечание. Так как количество вводимых чисел заранее не известно, то откроем бесконечный цикл со всегда верным условием True, но как только будет введено число 0, остановим цикл командой break.
Программа:
program z; var k,s,x:integer; begin k:=0; {начальное значение количества двузначных чисел} s:=0; {начальное значение суммы двузначных чисел} while True do {открываем бесконечный цикл} begin readln(x); {вводим число х} if x=0 then break; {если введенное число равно 0, то остановить цикл} if (x>9)and(x<100) then {если число двузначное, т.е. от 10 до 99} begin k:=k+1; {количество увеличиваем на 1} s:=s+x; {увеличиваем предыдущее значение суммы на число х} end; end; if k=0 then writeln('NO') {если двузначных чисел не было, то вывод NO} else writeln(s/k); {иначе вывод ср.арифметического} end.
Program aaa; type t=array[1..30] of integer; var a:t; i,h,max,max1,y:integer; q,c:real; procedure chet(a:t); var i,z:integer; begin z:=0; for i:=1 to 30 do if(odd(a[i])=false) then inc(z); writeln(z); end; begin for i:=1 to 30 do read(a[i]); //1 chet(a); //2 h:=0; c:=0; for i:=1 to 30 do if((a[i] mod 3 = 0) and (a[i] mod 9 <> 0) and (a[i]>9) and (a[i]<100)) then begin inc(h); c:=c+a[i]; end; if(h=0) then writeln(-1) else writeln(c/h); //3 h:=0; max:=0; for i:=1 to 30 do begin if((odd(a[i])=false) and (y=0)) then begin h:=i; y:=1; continue; end; if((y>0) and ((odd(a[i])=false))) then inc(y) else if(y>max) then begin max:=y; max1:=h; y:=0; end else y:=0; end; for i:=max1 to max+max1-1 do write(a[i],' '); writeln; //4 readln(h); y:=a[h]; for i:=h to 29 do a[i]:=a[i+1]; for i:=1 to 29 do write(a[i],' '); for i:=29 downto h do a[i+1]:=a[i]; a[h]:=y; writeln; //5 max:=0; max1:=0; for i:=1 to 30 do begin if(a[i]>max) then begin max1:=max; max:=a[i]; end; if((a[i]>max1) and (a[i]<max)) then max1:=a[i]; end; writeln(max1); end.