Вопрос задан 29.07.2023 в 20:40. Предмет Информатика. Спрашивает Гатаулина Ксюша.

Дано 5ти зн число, найти максимальную цифру в нём используя циклы while do и repeat until, break

исп нельзя. Free ide pascal. Вот решение с for to do program z1; uses crt; var n:longint; i,max,x:integer; begin clrscr; read(n); max:=-1; for i:=1 to 5 do begin x:= n mod 10; if x>max then max:=x; x:= n div 10; end; writeln(max); end. с ост циклами на подобие этого сделать нужно.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Багаева Даша.
Вариант с циклом 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
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Для нахождения максимальной цифры в 5-значном числе с помощью циклов while, repeat until, и без использования for to do, можно сделать следующее:

  1. Решение с while:
pascal
program z1_while; uses crt; var n, max, digit: integer; begin clrscr; read(n); max := -1; while n > 0 do begin digit := n mod 10; if digit > max then max := digit; n := n div 10; end; writeln(max); end.
  1. Решение с repeat until:
pascal
program z1_repeat_until; uses crt; var n, max, digit: integer; begin clrscr; read(n); max := -1; repeat digit := n mod 10; if digit > max then max := digit; n := n div 10; until n = 0; writeln(max); end.

Оба этих решения будут идентичным по результату и находят максимальную цифру в числе n без использования for to do и break.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос