IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на строки, Найти максимальную цифру в строке
Capt
сообщение 18.04.2006 18:19
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Помогите реализовать задачку Найти максимальную цифру в строке.
Код программы моей выкладываю:
Код

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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 18.04.2006 18:43
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


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.


Сообщение отредактировано: volvo - 5.11.2006 16:20
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 18.04.2006 23:00
Сообщение #3


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


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.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.04.2006 23:12
Сообщение #4


Гость






APAL, а то что коды букв больше кодов цифр - не смущает?
Попробуй прогнать свой пример на строке "123482a"

Тогда уже вот так:
If (s[i] in ['0'..'9']) and (S[i]>Ch) then Ch:=S[i];
 К началу страницы 
+ Ответить 
APAL
сообщение 18.04.2006 23:18
Сообщение #5


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Я это предвидел, но не стал вводить проверку:
Во первых - в условии не уточняется что вводится, но упоминается цифра - результат (программа) выше приведен.
Во вторых - если все же строка может содержать и другие символы - это хорошая практика для автора, пусть внесет изменения.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 12.08.2025 2:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"