• Предмет: Информатика
  • Автор: Цукеннроааилт
  • Вопрос задан 7 лет назад

Помогите пожалуйста, очень нужно)
Паскаль АВС
Дан Текст. Слова в тексте разделены одним или несколькими пробелами. Написать программу, выводящую все слова в алфавитном порядке

Ответы

Ответ дал: ProgrammerV1
0
uses crt;
var s,s1:string;    
a:array[1..100] of string;    
n,i,j,k:byte;
begin
clrscr;
writeln('Введите текст из слов, разделенных пробелами');
readln(s);
s:=' '+s+' ';{добавим пробел в начало и в конец}
n:=length(s);
i:=2; k:=0;{всего слов}
while i<=n do
if (s[i]<>' ')and (s[i-1]=' ') then{если не пробел а перед ним пробел}  
begin  
k:=k+1;{+ слово}  
j:=i;  
s1:='';  
while (j<=n) and (s[j]<>' ') do {пока не пробел и не конец строки}    
begin    
s1:=s1+s[j];    
j:=j+1;    
end;  
a[k]:=s1;{пишем его в массив}  
i:=i+length(s1);{перешагиваем через слово}  
end
else
i:=i+1;{пропускаем пробелы}
for i:=1 to k-1 do {сортируем массив по возрастанию=по алфавиту}
for j:=i+1 to k do if a[i]>a[j] then  
begin  
s1:=a[i];  
a[i]:=a[j];  
a[j]:=s1  
end;
writeln('Слова текста в алфавитном порядке:');
for i:=1 to k do
writeln(a[i]);
readln
end.
Вас заинтересует