program nazvanie; var a,b,b1,k,k1:integer; begin write('Введите трехзначное число: '); readln(a); b:=a; while b<>0 do begin b1:=b mod 10; if b1 mod 2=0 then k:=k+1 else k1:=k1+1; b1:=b div 10; b:=b1; end; if k>k1 then write('Кол-во четных цифр больше, чем нечетных в числе ',a) else if k<k1 then write('Кол-во нечетных больше, чем четаных в числе ',a); end. Немного переделать и будет рабочая прога!
Вариант с циклом while ... do... program z1; uses crt; var n:longint; i,max,x:integer; begin clrscr; read(n); max:=-1; i:=1; {это будет переменная-счетчик} while i<=5 do begin x:= n mod 10; if x>max then max:=x; n:= n div 10; {в этой строке исправлена опечатка в оригинале} i:=i+1; {наращиваем счетчик вручную} end; writeln(max); end.
Вариант с циклом repeat ... until program z1; uses crt; var n:longint;i,max,x:integer; begin clrscr; read(n); max:=-1; i:=1; repeat x:= n mod 10; if x>max then max:=x; n:= n div 10; i:=i+1; until i>5; writeln(max); end.
Вариант с циклом repeat ... until без счетчика! program z1; uses crt; var n:longint; max,x:integer; begin clrscr; read(n); max:=-1; repeat x:= n mod 10; if x>max then max:=x; n:= n div 10; until n=0; writeln(max); end. В последнем примере условием окончания цикла будет случай, когда число станет равным 0. Действительно, после каждого повторения цикла число становится на один разряд меньше (выделенная цветом строка программы), значит, когда-нибудь такое число станет равным 0 (цикл подходит для числа с любым количеством цифр). Пример: 34567 -> 3456 -> 345 -> 34 -> 3 -> 0