Дано предложение. Слова отеделены друг от друга пробелами или запятыми. Требуется найти самое длинное слово.
Задачу решать на паскале. Тема - строковые массивы. Первому решившему - 50 кредитов.
Раздел: Прочие развлечения, последний комментарий: 11.12.2011 23:24 Тема закрыта пользователем stryker91 по причине тема закрыта
uses crt;
var s,s2:string;
t,i:integer;
u:char;
begin
clrscr;
write('Input string: ');readln(s);
write('Input first symbol in the word: ');readln(u);
while copy (s,1,1)=' ' do delete (s,1,1);
while copy (s,length(s),1)=' 'do delete (s,length(s),1);
while pos(' ',s)0 do delete (s,pos(' ',s),1);
s:=s+' ';
repeat
t:=pos(' ',s);
s2:=copy(s,1,t-1);
if s2[1]=u then i:=i+1;
delete(s,1,t);
until length(s)=0;
write('The are ',i,' words, which start with ',u);
readln
end.
Вообще-то, я по делу поставил минус - ты дал прогу, которая счетает сколько слов начинаются с буквы " ".
Голову нужно включать, когда что-то копируешь.
Добавлено спустя 38 секунд
Только что это видел. Не подходит. В комментарии написано, что при таких-то условиях - не работает.
Дано предложение. Слова отеделены друг от друга пробелами или запятыми. Требуется найти самое длинное слово.
Задачу решать на паскале. Тема - строковые массивы.
Первому решившему - 50 кредитов.
Ну или так
Program z;
var a, b: string;
Begin
a:=('qwer'); {первое слово}
b:=('qwe'); {Второе слово}
if length(a)>length(b)
then writeln(a) else writeln(b);
End.