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

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

20.11.2013, 21:25. Просмотров 805. Ответов 0
Метки нет (Все метки)

Составить программу, которая выделяет отдельные слова и числа из введенной
пользователем строки. Словом считается последовательность букв, разделяемых одним
или несколькими пробелами или знаками препинания. Числом считается
последовательность цифр, разделяемых одним или несколькими пробелами, которая
может включать точку в качестве разделителя целой и дробной части и знак минус,
стоящий в начале.
Слова поместить в массив слов, числа поместить массив чисел. Найти в массивах
самое длинное слово и максимальное число.
Вывести на экран слова в столбик. Например, если исходная строка ’Длина пути
равна 1 метр.’, то на экран будет выведено:
Д п р м
л у а е
и т в т
н и н р
а а
Нашёл вроде эту программу, выводит всё правильно, только первого задания нет, то есть "Слова поместить в массив слов, числа поместить массив чисел. Найти в массивах самое длинное слово и максимальное число" может кто допишет, пожалуйста, и может как-то упростить её можно, а то дюже страшная, буду очень благодарен, пожалуйста, помогите кто сможет. Вот и сама прога:
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
var m1:array[1..123] of string;
m2:array[1..123] of real;
s1:string;
a,b,code,i,l:integer;
k:real;
Begin;
a:=1;
b:=1;
writeln('Введите строку');
readln(s1);
while (pos(#32,s1)>0) or (pos(#44,s1)>0) or (pos(#59,s1)>0) or (pos(#46,s1)>0)
      or (pos(#33,s1)>0) or (pos(#63,s1)>0) or (pos(#39,s1)>0) or (pos(#96,s1)>0)
      or (pos(#58,s1)>0) or (pos(#45,s1)>0) or (pos(#34,s1)>0)
      do
    begin;
         if pos(#32,s1)>0 then
            i:= pos(#32,s1)
         else
            i:=length(s1);
            
         if ((i>pos(#44,s1)) and (pos(#44,s1)>0)) then
                 i:= pos(#44,s1);
         if ((i>pos(#59,s1)) and (pos(#59,s1)>0)) then
               i:= pos(#59,s1);
         if ((i>pos(#46,s1)) and (pos(#46,s1)>0)) then
               i:= pos(#46,s1);
         if ((i>pos(#33,s1)) and (pos(#33,s1)>0)) then
               i:= pos(#33,s1);
         if ((i>pos(#63,s1)) and (pos(#63,s1)>0)) then
               i:= pos(#63,s1);
         if ((i>pos(#39,s1)) and (pos(#39,s1)>0)) then
               i:= pos(#39,s1);
         if ((i>pos(#96,s1)) and (pos(#96,s1)>0)) then
               i:= pos(#96,s1);
         if ((i>pos(#58,s1)) and (pos(#58,s1)>0)) then
               i:= pos(#58,s1);
         if ((i>pos(#45,s1)) and (pos(#45,s1)>0)) then
               i:= pos(#45,s1);
         if ((i>pos(#34,s1)) and (pos(#34,s1)>0)) then
               i:= pos(#34,s1);
        // writeln(i,'    ',s1);
      m1[a]:=copy(s1,1,i-1);
      delete(s1,1,i);
      a:=a+1;
    end;
   m1[a]:=s1;
   l:=length(m1[1]);
for i:=1 to a do
    begin
      //writeln('слово - ',m1[i]);
      val(m1[i],k,code);
      if (code=0) then m2[i]:=k;
      if l<length(m1[i]) then l:=length(m1[i]);
    end;
for i:=1 to l do
    begin
      for b:=1 to a do write(copy(m1[b],i,1):4);
       writeln;
    end;
readln;
end.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 21:25
Ответы с готовыми решениями:

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

Работа с символами и строками. Составить программу, которая выделяет отдельные слова и числа из введенной пользователем строки
Составить программу, которая выделяет отдельные слова и числа из введенной...

Выделить слова из строки.
Ввести строку. На печать выдать слова, имеющие нечетную длину.

Выделить из строки слова и определить в массив
скажите, если есть строка, где содержится все в куче( за исключением цифр), а...

Строки. Выделить из строки все подстроки, содержащие числа, и преобразовать в тип integer
Буду очень признателен если вы поможете с этим заданием. А задание таково: у...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2013, 21:25

Выделить из данной строки S слова с данными номерами K1, K2, K3
Описать функцию WordK(S, K) строкового типа, возвращающую K-е слово строки S...

Файлы. Переписать в другой файл через пробел все числа ,которые поданы в начальном файле как отдельные слова.
Дано текстовый файл с длинами строк не больше 255 символов.Переписать в другой...

Нужно выделить из веденной строки все английские слова
Нужно выделить из веденной строки все английские слова!!!!!!


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

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

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