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

Процедура нормализации строки

20.01.2014, 12:31. Показов 1708. Ответов 1
Метки нет (Все метки)

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

процедура обмена столбца и строки
Постановка задачи: используя функции, решить указанную задачу. Массив должен передаваться в функцию...

Процедура сжатия исходной строки
составить процедуру сжатия исходной последовательности символов каждая подпоследовательность...

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

Процедура. Упорядочить строки матрицы по возрастанию
Помогите обработать массив используя подпрограмму типа "процедура". Вывод массива организовать в...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
20.01.2014, 13:05 2
Лучший ответ Сообщение было отмечено volvo как решение

Решение

А поточнее? Что за "нормализация"? Это после которой строка будет без пробелов в начале/конце, и с пробелами после знаков препинания, а не до них? Тогда вот так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const
  nChars = 5; { при желании количество и сами разделители можно добавить }
  chars: array[1.. nChars] of char = (' ', '.', ',', '!', '?');
 
var
  s: string;
  i, p: integer;
 
begin
  write('s = '); readln(s);
  { s := '    one two ,  three   ... four five  !  '; }
  for i := 1 to nChars do
    repeat
      p := Pos(' ' + chars[i], s);
      if p > 0 then
        delete(s, p, 1);
    until p = 0;
  if s[1] = ' ' then delete(s, 1, 1);
  if s[length(s)] = ' ' then delete(s, length(s), 1);
  
  writeln(s);
end.
Если нужно именно с процедурой - то так:

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
procedure Normalize(var s: string);
const
  nChars = 5;
  chars: array[1.. nChars] of char = (' ', '.', ',', '!', '?');
var
  i, p: integer;
begin
  for i := 1 to nChars do
    repeat
      p := Pos(' ' + chars[i], s);
      if p > 0 then
        delete(s, p, 1);
    until p = 0;
  if s[1] = ' ' then delete(s, 1, 1);
  if s[length(s)] = ' ' then delete(s, length(s), 1);
end;
 
var
  s: string;
 
begin
  write('s = '); readln(s);
  Normalize(s);
  writeln(s);
end.
1
20.01.2014, 13:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2014, 13:05
Помогаю со студенческими работами здесь

Процедура Copir(var f1,f2: fs) копирует нечетные строки файла f1 в f2
Не могли бы помочь решить одну из ниже приведенных задач? 7.11 Дан текстовый файл. Создать другой...

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

Процедура построения строки символов, являющейся записью заданного вещественного числа в 10-ой системе счисления
Составить процедуру построения строки символов, являющейся записью заданного вещественного числа в...

процедура нормализации
Здравствуйте, помогите оценить правильность и адекватность проведенной нормализации, а то, к...


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

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