Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 12.02.2011
Сообщений: 65
1

В заданном предложении поменять местами самое длинное и самое короткое слова

12.02.2011, 16:52. Показов 1279. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В заданном предложении поменять местами самое длинное и самое короткое слова. Считать, что слова в тексте отделены друг от друга одним пробелом.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2011, 16:52
Ответы с готовыми решениями:

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

В заданном предложении найти самое короткое и самое длинное слова
В заданном предложении найти самое короткое и самое длинное слова. Напечатать исходный текст и...

Поменять местами в предложении самое длинное и самое короткое слово.
Помогите пожалуйста доделать задачу: Поменять местами в предложении самое длинное и самое короткое...

В заданном предложении найти самое короткое и самое длинное слово
Делаю все строго по гайду, но после ввода строки вылетает "exit code = 201". Пишу в free pascal'е....

1
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
12.02.2011, 18:48 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
77
78
program Project1;
 
type
  //Сведения о координатах слова.
  TWInfo = record
    Start, Len : Integer;
  end;
 
const
  //Множество разделителей слов.
  D = [' ', '.', ',', ':', ';', '!', '?', '-', #9, #10, #13];
var
  S, Sw : String;
  i, Pos1, Len, LenW : Integer;
  W, W1, W2 : TWInfo;
begin
  repeat
    Writeln('Задайте текст:');
    Readln(S);
    Len := Length(S);
 
    Pos1 := 0;
    //Начальное задание координат самого короткого слова.
    W1.Start := 0;
    W1.Len := Len;
    //Начальное задание координат самого длинного слова.
    W2.Start := 0;
    W2.Len := 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
        LenW := i - Pos1 + 1;
        if LenW < W1.Len then begin
          W1.Len := LenW;
          W1.Start := Pos1;
        end;
        if LenW > W2.Len then begin
          W2.Len := LenW;
          W2.Start := Pos1;
        end;
      end;
    end;
 
    //Меняем слова местами.
    if (W1.Start > 0) and (W2.Start > 0) then begin
      //Меняем данные так, чтобы в записи W1 было то слово,
      //которое расположено левее, а в W2 - то, которое правее.
      if W1.Start > W2.Start then begin
        W := W1;
        W1 := W2;
        W2 := W;
      end;
 
      //Запоминаем правое слово.
      Sw := Copy(S, W2.Start, W2.Len);
      //Удаляем правое слово.
      Delete(S, W2.Start, W2.Len);
      //На место правого слова вставляем левое слово.
      Insert(Copy(S, W1.Start, W1.Len), S, W2.Start);
      //Удаляем левое слово.
      Delete(S, W1.Start, W1.Len);
      //На место левого слова записываем правое слово.
      Insert(Sw, S, W1.Start);
      //Вывод результатов.
      Writeln('Изменённый текст:');
      Writeln(S);
    end else begin
      Writeln('Недостаточно слов в заданном тексте.');
    end;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
4
12.02.2011, 18:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2011, 18:48
Помогаю со студенческими работами здесь

Найти самое длинное и самое короткое слово в строке и поменять их местами
Дано предложение. Найти самое длинное и самое короткое слова и поменять их местами. Удалить слова...

Найти самое длинное и короткое слова в предложении
Найти самое длинное и короткое слова

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

Вывести на печать самое длинное и самое короткое слова текста
Вывести на печать самое длинное и самое короткое слова текста.народ помогитеее!!!:cry:


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru