• "Дана последовательность, содержащая от 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.

Ответы 2

  • Спасибо!
    • Автор:

      ziontdbc
    • 5 лет назад
    • 0
  • Так как написана программа, в лучшем случае будет найдено только одно слово, должны быть вложенные циклы.Решение (немного исправленное) в прикрепленном файле.Ввод - вывод программы:  vvedite text:  it's a text for check programm abcdefgh hgfe pqrstu srqp.word = forword = abcdefghword = hgfeword = pqrstuword = srqp
    answer img
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years