• Помогите написать алгаритм и немного описать задачу.
    Дан текст, содержащий от 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.

Ответы 2

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

      hurley
    • 6 лет назад
    • 0
  • типа такого
    • Автор:

      yuliana
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

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

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

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