uses crt;
var s:string;{исходная строка}
m:array[1..50]of string;{массив слов}
n,k,i,j:byte;{длина строки, длина массива, счетчики циклов}
x:string;{буфер при обмене в сортировке}
begin
clrscr;
repeat
writeln('Vvedite stroku, razdelitel slov 1 probel:');
readln(s);
n:=length(s);
{проверяем чтоб не было более 1 пробела подряд, здесь в апострофах по 2! пробела}
if pos(' ',s)>0 then writeln('Bolshe 1 probela podryad. Povtorite vvod.');
until pos(' ',s)=0;{проверяем чтоб не было более 1 пробела подряд}
k:=1;{первое слово}
for i:=1 to n do
if s[i]=' 'then k:=k+1{если пробел}
else m[k]:=m[k]+s[i];{иначе составляем слово(элемент массива) по буковкам}
for i:=1 to k-1 do
for j:=i+1 to k do
{сортируем массив по возрастанию(для строк это по алфавиту)методом пузырька(обменом)}
if m[i]>m[j] then
begin
x:=m[i];
m[i]:=m[j];
m[j]:=x;
end;
writeln('Slova po alfavitu:');
for i:=1 to k do
write(m[i],' ');{выводим слова через пробел}
readln
end.
Похожие записи/страницы:
- Дан текст. Напечатать все слова, которые входят в текст по одному разу - Pascal(Паскаль)
- Дан текст (массив символьных строк). Для каждого из слов текста указать, сколько раз оно встречается в данном…
- В строке,состоящей из слов,определить количество слов,имеющих количество символов первого слова - Pascal(Паскаль)
- Найти и напечатать самое короткое слово в тексте - Pascal(Паскаль)
- Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку,…
- Дан файл,содержащий текс на русском языке. Определить,сколько раз встречается в нем самое короткое слово -…
- На диск записывается массив строк как один компонент. Считать из файла каждую строку поочередною. Найти во всех…
- Ввести строку. На печать выдать все слова, которые имею длину больше, чем длина предыдущего слова строки -…