Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на строки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Capt
Помогите реализовать задачку Найти максимальную цифру в строке.
Код программы моей выкладываю:
Код

program ex10;
var  i,k,n,max:integer;
     s:string;

begin
writeln ('Введите строку');
readln(s);

val(s,n,k);
for i:=1 to n do
max:=n[i];
for i:=2 to n do
if n[i]>max then max:=n[i]; write('Макс число''',max);
readln
end.
Ozzя
program ex10;
var i,k,n,max:integer;
s:string;

begin
writeln ('Введите строку');
readln(s);

val(s[1],n,k);
max:=n;

for i:=2 to length(s) do
begin
val(s[i],n,k);
if n>max then
max:=n;
end;
writeln('Макс число''',max);
readln;
end.
APAL
program ex10;
var ch:char;
s:string;
i:Byte;
begin
writeln ('Введите строку');
readln(s);
Ch:=#0;
For i:=1 to Length(St) do
If St[i]>Ch then Ch:=St[i];
writeln('Макс число '+Ch);
readln;
end.
volvo
APAL, а то что коды букв больше кодов цифр - не смущает?
Попробуй прогнать свой пример на строке "123482a"

Тогда уже вот так:
If (s[i] in ['0'..'9']) and (S[i]>Ch) then Ch:=S[i];
APAL
Я это предвидел, но не стал вводить проверку:
Во первых - в условии не уточняется что вводится, но упоминается цифра - результат (программа) выше приведен.
Во вторых - если все же строка может содержать и другие символы - это хорошая практика для автора, пусть внесет изменения.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.