С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Batters
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 12
1

Написать программу для перестановки слов в предложении

29.01.2011, 17:04. Просмотров 1602. Ответов 2
Метки нет (Все метки)

вот полное условие ввести с клавиатуры предложение, поменять местами второе и последнее слово.
помогите написать
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2011, 17:04
Ответы с готовыми решениями:

Напечатать все возможные перестановки слов в этом предложении, разделив их пробелом
Задано предложение без предлогов. Слова в нем разделены пробелом или...

Написать программу, которая подсчитывает количество слов в предложении.
вот задача . Предложение состоит из слов-строк. Написать программу, которая...

Вывести все возможные перестановки слов в предложении исключая повторения
надо вывести все возможные перестановки слов в предложении исключая повторения...

Написать функцию для подсчета слов в предложении
Создайте функцию, которая возвращает количество слов в предложении, что служит...

Написать программу для подсчета слов в строке
Дана строка, содержащая несколько слов ,разделенных одним пробелом. В начале...

2
Mawrat
12834 / 5742 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
30.01.2011, 17:26 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
program Project1;
 
const
  //Множество разделителей слов.
  D = [' ', '.', ',', ':', ';', '!', '?', '-', #9, #10, #13];
var
  S, Sw : String;
  i, Pos1, Len, Cnt, P1, L1, P2, L2 : Integer;
begin
  repeat
    //Исходный текст.
    Writeln('Задайте текст:');
    Readln(S);
    Len := Length(S);
 
    //Находим координаты второго слова.
    P1 := 0;
    L1 := 0;
    Cnt := 0;
    //Перебор символов, начиная от начала строки.
    for i := 1 to Len do begin
      //Пропускаем разделители.
      if S[i] in D then Continue;
      //Отслеживаем начало слова.
      if (i = 1) or (S[i - 1] in D) then Pos1 := i;
      //Отслеживаем конец слова.
      if (i = Len) or (S[i + 1] in D) then begin
        Inc(Cnt);
        if Cnt = 2 then begin
          P1 := Pos1;
          L1 := i - Pos1 + 1;
          Break;
        end;
      end;
    end;
 
    //Находим координаты последнего слова.
    P2 := 0;
    L2 := 0;
    //Перебор символов, начиная с конца строки.
    for i := Len downto 1 do begin
      //Пропускаем разделители.
      if S[i] in D then Continue;
      //Отслеживаем конец слова.
      if (i = Len) or (S[i + 1] in D) then Pos1 := i;
      //Отслеживаем начало слова.
      if (i = 1) or (S[i - 1] in D) then begin
        P2 := i;
        L2 := Pos1 - i + 1;
        Break;
      end;
    end;
 
    //Меняем слова местами.
    if (P1 > 0) and (P2 > 0) then begin
      //Запоминаем последнее слово.
      Sw := Copy(S, P2, L2);
      //Удаление последнего слова.
      Delete(S, P2, L2);
      //На место последнего слова вставляем второе слово.
      Insert(Copy(S, P1, L1), S, P2);
      //Удаляем второе слово.
      Delete(S, P1, L1);
      //На место второго слова вставляем последнее слово.
      Insert(Sw, S, P1);
      //Вывод результатов.
      Writeln('Изменённый текст:');
      Writeln(S);
    end else begin
      Writeln('Недостаточно слов в заданном тексте.');
    end;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
1
Batters
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 12
30.01.2011, 20:59  [ТС] 3
спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2011, 20:59

Написать программу циклической перестановки элементов массива
1. Написать программу циклической перестановки элементов массива. (с random)...

Составить программу, которая посчитает количество слов student в данном предложении
Составить программу, которая посчитает количество слов student в данном...

Составить программу, обращающую отдельные слова в предложении, но сохраняющую порядок слов
Помогите плз с задачкой Дано предложение. Составить программу, обращающую ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru