Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Neznakom4eg
0 / 0 / 0
Регистрация: 01.07.2014
Сообщений: 20
#1

Дана строка из нескольких слов, заканчивающаяся точкой - Pascal ABC

17.12.2014, 17:17. Просмотров 424. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста. Это все нужно сделать в одной программе.

Дана строка из нескольких слов, заканчивающаяся точкой.
1)Найти количество буквосочетаний(min)
2)Подсчитать количество слов в этой строке
3)Удалить лишние пробелы
4)Найти самое длинное и самое короткое слово
5)Отсортировать строку по убыванию длины слов

Добавлено через 4 часа 53 минуты
Пожалуйста!!!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2014, 17:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Дана строка из нескольких слов, заканчивающаяся точкой (Pascal ABC):

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

Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке
Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке.

Дана строка, заканчивающаяся точкой Подсчитать сколько слов в строке
22. Дана строка, заканчивающаяся точкой. Подсчитать сколько слов в строке

Дана строка, заканчивающаяся точкой. Подсчитать в ней количество вхождений букв r, k, t
Дана строка, заканчивающаяся точкой. Подсчитать в ней количество вхождений букв...

Дана строка, заканчивающаяся точкой. Подсчитать, сколько букв и цифр вместе в строке
дана строка заканчивающаяся точкой подсчитать сколько букв и цифр вместе в...

Дана строка текста, оканчивающаяся точкой. Напечатать этот текст в обратном порядке
Дана строка текста, оканчивающаяся точкой. Напечатать этот текст в обратном...

1
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
3858 / 2845 / 3631
Регистрация: 05.06.2014
Сообщений: 13,943
18.12.2014, 11:32 #2
Лучший ответ Сообщение было отмечено Neznakom4eg как решение

Решение

5-е не сделал.

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
uses
  strutils;
var
  s:string;
  kmin,i,kpos:integer;
 
procedure DelAndFind(var st:string; var number:integer);
var
  j, i:integer;
begin
  number:=0;
  if st='' then
    exit;
  if (st[1]=' ') then
    delete(st, 1, 1)
  else
    inc(number);
  for i:=Length(st) downto 1 do
    begin
      if (st[i] in [' ']) then
        begin
          inc(number);
        repeat
          if (st[i+1]=' ') then
            begin
              delete(st, (i+1), 1);
            end;
        until ((st[i+1])<>'.');
      end;
  end;
end;
 
procedure LongAndShort(a:string);
{(C) кот Бегемот}
var
  x,b:array[1..100] of string;
  i,k,min,max:integer;
  z:string;
begin
  k:=0;
  z:=a;
  a:=' '+a;
  for i:=1 to length(a) do
    if a[i] in [' ',',',';',':'] then
      inc(k)
    else
      b[k]:=b[k]+a[i];
 
  max:=length(b[1]);
  for i:=1 to k do
    if length(b[i])>max then
      max:=length(b[i]);
  writeln('Cамые длинные слова: ');
  for i:=1 to k do
    if length(b[i])=max then
      writeln(b[i],': ',length(b[i]));
  for i:=1 to 100 do
    b[i]:='';
  k:=0;
  a:=z;
  a:=' '+a;
  for i:=1 to length(a) do
    if a[i] in [' ',',',';',':'] then
      inc(k)
    else
      b[k]:=b[k]+a[i];
 
  min:=length(b[1]);
  for i:=1 to k do
    if (length(b[i])<min) and (length(b[i])<>0)then
      min:=length(b[i]);
  writeln('Cамые короткие слова: ');
  for i:=1 to k do
    if length(b[i])=min then
      writeln(b[i],': ',length(b[i]));
end;
 
function CSubs(sub,s: string): byte;
begin
  if Pos(sub, s) = 0 then
    CSubs := 0
  else
    CSubs := 1 + CSubs(sub, Copy(s, Pos(sub, s) + Length(sub), Length(s)));
end;
 
begin
  s:='Помогите, пожалуйста, это все нужно сделать в одной программе:'+#10#13+
  'Найти количество буквосочетаний (min);'+#10#13+
  'Подсчитать количество слов    в этой строке;'+#10#13+
  'Удалить лишние пробелы;'+#10#13+
  'Найти самое длинное и    самое короткое (min) слово;'+#10#13+
  'Отсортировать строку    по убыванию (min) длины слов (min).';
  writeln('Исходная строка: ');
  writeln(s);
  writeln;
  writeln('Количество буквосочетаний (min): ',Csubs('min',s));
  writeln;
  DelAndFind(s,kmin);
  writeln('Лишние пробелы удалены: ');
  writeln(s);
  writeln;
  writeln('Количество слов в этой строке: ',kmin);
  longandshort(s);
  readln;
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2014, 11:32
Привет! Вот еще темы с решениями:

Дана строка содержащая текст заканчивающийся точкой. Вывести на экран слова содержащие 3 буквы
Дана строка содержащая текст заканчивающийся точкой. Вывести на экран слова...

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова,...

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
Обработка числовых массивов 1.Дан массив X(N). Переписать в массив Y подряд...

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


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

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

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