14.12.2009, 10:47 | #1 (permalink) |
Member
Регистрация: 14.12.2009
Сообщений: 53
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Обработка строк символов
Дана строка,слова в которой разделены хотя бы одним пробелом. Найти самое короткое слово в строке и поменять местами первую и последние буквы в нем. помогите пожайлуста на Паскале.! |
14.12.2009, 10:47 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Советую вам прочитать обсуждаемые темы, которые схожи с вашей Автоматическа нумерация строк Обработка строк,массивов,записей Замена символов в строке Обработка строк с использованием множественного типа данных Обработка строк. Использование множеств. Данные типа String. Кодировка символов |
14.12.2009, 12:23 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
VAR S,Smin,Sinv:STRING; i,j,Number_of_Words,Min:INTEGER; WRDS:ARRAY[1..200] of STRING; BEGIN S:='Long ago there were three pigs'; FOR j:=1 TO 200 DO WRDS[j]:=''; i:=0; j:=0; Number_of_Words:=0; REPEAT INC(i); IF S[i]<>' ' THEN BEGIN INC(Number_of_Words); REPEAT WRDS[Number_of_Words]:=WRDS[Number_of_Words]+S[i+j]; INC(j); UNTIL (S[i+j]=' ') OR ((i+j-1)=Length(S)); i:=i+j-1; j:=0; END; UNTIL i=Length(S); Min:=255; FOR j:=1 TO Number_of_Words DO IF Length(WRDS[j])<Min THEN BEGIN Min:=Length(WRDS[j]); Smin:=WRDS[j]; END; Sinv:=Smin[Length(Smin)]; FOR j:=2 TO Length(Smin)-1 DO Sinv:=Sinv+Smin[j]; Sinv:=Sinv+Smin[1]; WriteLn(S); Writeln(Smin); WriteLn(Sinv); ReadLn; END. |
|
17.12.2009, 23:32 | #3 (permalink) |
Member
Регистрация: 14.12.2009
Сообщений: 53
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо тебе большое!)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|