Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2015, 20:06   #1
Валерв
 
Регистрация: 18.11.2015
Сообщений: 7
Вопрос Помогите с текстовой прогой

Народ спасайте, не пойму как это написать в паскале(
Разработать программу, которая в текстовой строке заменяет любое количество пробелов, идущих подряд на один пробел и переводит все большие буквы, кроме первой, в маленькие, а цифры удаляет. (например: ‘Я1CA Bk3льK1De 0100fk0 cccc’=’Яса bkльk1de fk сcc’).
Указания: начальную строку вводить с клавиатуры; полученную строку выводить под первоначальной строкой.

Последний раз редактировалось Валерв; 18.11.2015 в 20:12.
Валерв вне форума Ответить с цитированием
Старый 19.11.2015, 04:47   #2
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Код:
var s1,s2:string;
i:integer;
begin
readln(s1);
for i = 1 to length(s1)
begin
if ORD(s1[i])>1 and ORD(s1[i])<10 // коды цифр не помню, посмотри CHR('0')
then else s2:=s2+s1[i];
if i<length(s1) then 
if s1[i]=' ' and s1[i+1]=' ' then 
if s1[i-1]<>' ' then s2:=s2+' ';
// остальное лень придумывать, да и паскаля под рукой нет

end;
writeln(s2);
end.
Simply-Art вне форума Ответить с цитированием
Старый 19.11.2015, 07:51   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Simply-Art, ужасно!

например,
Цитата:
Код:
if ORD(s1[i])>1 and ORD(s1[i])<10 // коды цифр не помню, посмотри CHR('0')
простите, а если Вы не помните коды цифр, то что Вам мешает написать:
Код:
if (ORD(s1[i])>=ord('0')) and (ORD(s1[i])<=ord('9')) then
или, ещё проще
Код:
if (s1[i]>='0') and (s1[i]<='9') then
или даже так:
Код:
if s1[i] in ['0'..'9'] then
p.s. и в логическом выражении, если условий более одного, то каждое условие надо брать в скобки, иначе последствия будут плачевны.

Кроме того, а с чёго Вы решили, что автору топика вообще нужен Паскаль?!
Интуиция?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.11.2015, 07:55   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Маленький такой офтопчик
Цитата:
не пойму как это написать в паскале
Интуиция, она такая
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.11.2015, 11:40   #5
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Simply-Art, ужасно!
Кроме того, а с чёго Вы решили, что автору топика вообще нужен Паскаль?!
Интуиция?!
Про паскаль ответили уже. Ну а на счет ужасно, так я что, должен был идеал выкладывать? Так сказать помог, как считал нужным. Если бы автор выложил свои наработки, то был больше бы стимул. Не считаю что я не помог, я старался, тратил время
Simply-Art вне форума Ответить с цитированием
Старый 19.11.2015, 11:51   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Ну а на счет ужасно, так я что, должен был идеал выкладывать?
переменная s2 не иницилизирована.
проверка на цифры и близко не работает.
цикл for написан с двумя синтаксическими ошибками (в паскале присвоение это := и нет ключевого слова "do")
условие проверки на пробелы написано с ошибкой (нет скобок для условий)
ну и алгоритм удаления повторяющихся пробелом сам по себе неверный.


Цитата:
Не считаю что я не помог, я старался, тратил время
"здесь мерилом работы считают усталость..."
ну, ну..
ладно, будем считать, что помогли и даже очень сильно!!
на ошибках же тоже учатся!


p.s. про Паскаль автор топика дописал позже, в начале этого не было.
я исходный пост прочитал, а перечитывать не стал. мой косяк. признаю!


p.p.s. Simply-Art, не обижайтесь, ничего личного!
не флейма ради, а ради истины...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.11.2015, 14:32   #7
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

так можно удалить цифры
Код:
for i:=1 to length(s) do
	if (s[i] in ['0'..'9']) and (s[i]<>'')  then
		begin
		 delete (s,i,1);
		 i:=i-1;
		end;
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 19.11.2015, 15:03   #8
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

(например: ‘Я1CA Bk3льK1De 0100fk0 cccc’=’Яса bkльk1de fk сcc’)

ето опечатка, или так должно быть?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 19.11.2015, 15:07   #9
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
(например: ‘Я1CA Bk3льK1De 0100fk0 cccc’=’Яса bkльk1de fk сcc’)

ето опечатка, или так должно быть?
а что не так??
так можно заменить большие на меленькие

Код:
for i:=2 to length(s) do		
	case ORD (s[i]) of 
	   65: s[i]:='a';
	   66: s[i]:='b';
           ..................
           90:s[i]:='z';
	end;
если кто знает как это проще сделать расскажите дураку.
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 19.11.2015, 15:09   #10
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
(например: ‘Я1CA Bk3льK1De 0100fk0 cccc’=’Яса bkльk1de fk сcc’)

ето опечатка, или так должно быть?
все понял простите
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с прогой на с++ Olya90 Помощь студентам 0 20.04.2009 16:56
Помогите с прогой (С++) Meddy Помощь студентам 3 13.07.2008 21:38
Помогите с прогой DarthNemo Помощь студентам 2 06.05.2007 18:11