"Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами – пробел, за последним словом – точка. Вывести те слова последовательности, у которых буквы уп...

"Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами – пробел, за последним словом – точка. Вывести те слова последовательности, у которых буквы упорядочены по алфавиту." Есть код,но он не работает.Прошу объяснить что я делаю не так.Язык-Паскаль. uses crt; var c,i,j:integer; text,st:string; begin c:=0; clrscr; writeln('vvedite text:'); readln(text); for i:=0 to length(text) do if (text[i]=' ') or (text[i]='.') then begin st:=copy(text,0,i); delete(text,0,i+1); writeln('text=',text); end; for j:=0 to length(st) do begin if pos(st[j],st) c:=c+1; if c=length(st) then writeln(st); st:=''; end; readln; end. readln; end.
Гость
Ответ(ы) на вопрос:
Гость
Так как написана программа, в лучшем случае будет найдено только одно слово, должны быть вложенные циклы. Решение (немного исправленное) в прикрепленном файле. Ввод - вывод программы:  vvedite text:   it's a text for check programm abcdefgh hgfe pqrstu srqp. word = for word = abcdefgh word = hgfe word = pqrstu word = srqp
Не нашли ответ?
Ответить на вопрос
Похожие вопросы