
Витольд
6 год назад
"Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами – пробел, за последним словом – точка. Вывести те слова последовательности, у которых буквы упорядочены по алфавиту."Есть код,но он не работает.Прошу объяснить что я делаю не так.Язык-Паскаль.uses crt;varc,i,j:integer;text,st:string;beginc:=0;clrscr;writeln('vvedite text:');readln(text);for i:=0 to length(text) doif (text[i]=' ') or (text[i]='.') thenbeginst:=copy(text,0,i);delete(text,0,i+1);writeln('text=',text);end;for j:=0 to length(st) dobeginif pos(st[j],st)c:=c+1;if c=length(st) thenwriteln(st);st:='';end;readln;end.readln;end.
ОТВЕТЫ

Rumyana
Oct 24, 2020
Так как написана программа, в лучшем случае будет найдено только одно слово, должны быть вложенные циклы.
Решение (немного исправленное) в прикрепленном файле.
Ввод - вывод программы:
vvedite text:
it's a text for check programm abcdefgh hgfe pqrstu srqp.
word = for
word = abcdefgh
word = hgfe
word = pqrstu
word = srqp
Решение (немного исправленное) в прикрепленном файле.
Ввод - вывод программы:
vvedite text:
it's a text for check programm abcdefgh hgfe pqrstu srqp.
word = for
word = abcdefgh
word = hgfe
word = pqrstu
word = srqp
- Спасибо!
472
Смежные вопросы: