Найти максимальную и минимальную цифры числа. Верно ли, что данное число заканчивается на них? Нужна программа в турбо паскаль
Answers & Comments
srzontmp var a: array[0..9] of integer; s: string; i,j: integer; begin for i:=0 to 9 do a[i]:=0; write('число: '); readln(s); for i:=1 to length(s) do inc(a[ord(s[i])-48]); i:=9; while a[i]=0 do i:=i-1; j:=i; i:=0; while a[i]=0 do i:=i+1; if (chr(j+48)+chr(i+48)=s[length(s)-1]+s[length(s)]) or (chr(i+48)+chr(j+48)=s[length(s)-1]+s[length(s)]) then writeln('Да') else writeln('Нет'); end.
vladfoxi2
слушай здесь пишит да если число оканчиваеться на 0
vladfoxi2
а если я допустим ввожу число 13571 и минимальная цифра 1 значит проверка заканчиваеться ли число "13571" на 1 писала да
vladfoxi2
а если число 459249 и максимальная цифра 9 значит заканчиваеться оно на 9 если да то писала да если нет то нет
srzontmp
Программа пишет "Да", если 2 последние цифры числа совпадают с максимальной и минимальной цифрами.
srzontmp
Вопрос в программе не совсем корректен. Что означает, что программа заканчивается на них? Можно понять как, последняя цифра числа либо минимальная, либо максимальная, либо 2 последние цифры максимальная и минимальная?
Answers & Comments
var a: array[0..9] of integer;
s: string;
i,j: integer;
begin
for i:=0 to 9 do a[i]:=0;
write('число: '); readln(s);
for i:=1 to length(s) do inc(a[ord(s[i])-48]);
i:=9;
while a[i]=0 do i:=i-1;
j:=i;
i:=0;
while a[i]=0 do i:=i+1;
if (chr(j+48)+chr(i+48)=s[length(s)-1]+s[length(s)]) or
(chr(i+48)+chr(j+48)=s[length(s)-1]+s[length(s)])
then writeln('Да')
else writeln('Нет');
end.
число: 18245390
Да
число: 1205483Нет