Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Eragon
1 / 1 / 0
Регистрация: 19.12.2010
Сообщений: 27
#1

Строки, слова...

28.03.2011, 22:33. Просмотров 826. Ответов 1
Метки нет (Все метки)

Ребата, помогите пожалуйста решить такую задачку...

"В заданной символьной строке, которая заканчивается точкой, определить длину самого короткого и самого длинного слов"
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2011, 22:33
Ответы с готовыми решениями:

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

Строки. Напечатать те слова, которые отличны от первого слова и длина слова минимальна
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1...

Удалить все повторные вхождения данного слова из строки и вывести слова в столбик.
Удалить все повторные вхождения данного слова из строки и вывести слова в...

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

По файлу, содержащему строки-слова, получить первоначальный файл, в котором слова разделены пробелом
Пусть дан текстовый файл. В новый файл перенисите кажде слово как отдельную...

1
nuHrBuH
253 / 253 / 150
Регистрация: 04.03.2011
Сообщений: 597
29.03.2011, 00:12 #2
Лучший ответ Сообщение было отмечено Eragon как решение

Решение

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
uses wincrt;
var
       n : array[1..100] of byte;
       s : string[100];
    i, m : byte;
      s1 : array [1..20] of string[20];
 
   s_min,
   s_max : string[20];
                                                   {  перемещает наименьшее и найболшее слова местами }
   k_min,
   k_max,
     min,
  max, j : byte;
 
 
 begin
 
  writeln('Введите строку : ');  readln(s);
 
    s:= s + ' ';
    m:= ord( s[0] );
  min:= 100;
    j:= 1;
                                               {                                     }
   for i:= 1 to m do                           {                                     }
    begin                                      {                                     }
         s1[j] := s1[j] + s[i];                {   pазбиваем строку на массив слов   }
          n[j] := i;                           {                                     }
                                               {                                     }
         if s[i] = ' '                         {                                     }
            then                               {                                     }
                j:= j + 1;
    end;
 
    for i:= 1 to j-1 do
      begin
 
           if length( s1[i] ) > max
              then
                  begin
                      s_max := s1[i];                          {   максимальное длинной слово    }
                        max := length( s1[i] );                 {     длинна макс. дл. слова      }
                      k_max := n[i] - max + 1;                   {       позиция макс. дл. слова   }
                  end;
 
            if length( s1[i] ) < min
              then
                  begin
                      s_min := s1[i];                            {    минимальное длинной слово  }
                        min := length( s1[i] );                   {          длинна               }
                      k_min := n[i] - min + 1;                     {         позиция               }
                  end;
 
       end;
 
 
  delete(s, k_max, max);
     insert(s_min, s, K_max);
 
  if k_min < k_max
 
     then
         begin
             delete(s, k_min, min);
               insert(s_max, s, K_min);
         end
 
     else
         begin
             delete(s, k_min - (max - min), min);
               insert(s_max, s, k_min - (max - min));
          end;
 
  writeln(s);
end.
Сто раз уже это задание было. Вот задача, меняет местами максимальное и минимальное по длинне слова.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2011, 00:12

Сформировать 2 строки, одна из которой будет содержать русские слова, а другая — английские слова
1. Дана строка, содержащая слова на русском и английском языках. Сформировать 2...

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

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


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

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

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