Помогите написать алгаритм и немного описать задачу. Дан текст, содержащий от 2 до 30...

0 голосов
115 просмотров

Помогите написать алгаритм и немного описать задачу.
Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее одного пробела. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: 1) перенести первую букву в конец слова; 2) перенести последнюю букву в начало слова.
program stroki;
var i,j:integer;
sl:array[1..30] of string[10];
st:string;
c:char;
begin
writeln('Vvedite tex:');
readln(st);
j:=1;
for i:= 1 to length(st) do
begin
if st[i] <> ' ' then sl[j] := sl[j] + st[i];
if (st[i] = ' ') and (st[i+1] <> ' ') then j := j + 1;
end;
for i:= 1 to j do
begin
c := sl[i][1];
sl[i][1] := sl[i][length(sl[i])];
sl[i][length(sl[i])] := c;
end;
for i := 1 to j-1 do
if sl[i] <> sl[j] then write(sl[i] + ' ');
end.


Информатика (26 баллов) | 115 просмотров
Дан 1 ответ
0 голосов

Http://ideone.com/hRZOec вот ссылка на рабочую программу

(655 баллов)
0

у меня программа работает и так.мне нужно описание и алгаритм

0

блок-схема?

0

вот коментарии к программе которые идут вот по ним надо сделать алгоритм.

0

Тоесть основное описание программы

0

1.Ввод текста;
2.Отделяем слова и считаем их количество for i:=  to length(st);
3.Задаем условие на проверку символа «не пробел», если символ не пробел-часть текущего слова, прибавляем его к слову 
4.Задаем условие на проверку символа «пробел» , если символ- пробел и следующий не пробел ,то начинается новое слово, увеличим счетчик слов 
5.Циклом for i:= 1 to j do пройдемся по всем словам и поменяем последнюю и первую букву местами;
6.Циклом for i:= 1 to j-1 do выведем слова отличные от пос

0

типа такого

0

http://ideone.com/hRZOec вот здесь все с комментариями (алгоритм)