Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2008, 14:42   #1
GaJIbI4
Пользователь
 
Регистрация: 03.10.2008
Сообщений: 77
По умолчанию Помогите с прогой в паскале

У меня такая задача: дана последовательность символов среди которых есть пробелы. Заменить каждую группу пробелов одним пробелом с использованием функций.

Вот чё сам пытался сделать, функции незнаю как использовать

Код:
var
s1:array[1..15] of string;
i,n,m:integer;
begin
Write('Vvedite 15 simvolov: ');
ReadLn(s1[i]);
n:=pos(' ',s1[i]);
m:=n;
for i:=n to 15 do
begin
if s1[i]=' ' then
m:=m+1;
end;
for i:=n to m-1 do
begin
delete(s1[i],n,1);
end;
WriteLn('Stroka: ',s1[i]);
end.

Последний раз редактировалось AlDelta; 05.11.2008 в 19:41.
GaJIbI4 вне форума Ответить с цитированием
Старый 05.11.2008, 17:01   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Много раз этот способ встречается на форуме while pos(' ', s) > 0 do delete(s, pos(' ', s), 1);
Код:
var
  st: string;
begin
  write('stroka = ');
  readln(st);
  while pos('  ', st) > 0 do delete(st, pos('  ', st), 1);
  write('otvet = ', st);
  readln
end.
eoln вне форума Ответить с цитированием
Старый 05.11.2008, 19:27   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
pos(' ', st)
Уточним, что в апострофах два пробела, а то можно и не понять.
puporev вне форума Ответить с цитированием
Старый 05.11.2008, 19:47   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Уточним, что в апострофах два пробела, а то можно и не понять.
Ага, точно. В коде пробела 2, а вот в первой строке один (форум так делает). Вот ещё вариант решения - отправляем строку на форум и читаем, все лишнии пробелы удалятся
eoln вне форума Ответить с цитированием
Старый 05.11.2008, 19:52   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Тоже способ, надо запомнить.
puporev вне форума Ответить с цитированием
Старый 05.11.2008, 21:31   #6
GaJIbI4
Пользователь
 
Регистрация: 03.10.2008
Сообщений: 77
По умолчанию

Цитата:
Сообщение от eoln Посмотреть сообщение
Много раз этот способ встречается на форуме while pos(' ', s) > 0 do delete(s, pos(' ', s), 1);
Код:
var
  st: string;
begin
  write('stroka = ');
  readln(st);
  while pos('  ', st) > 0 do delete(st, pos('  ', st), 1);
  write('otvet = ', st);
  readln
end.
как этот код в паскале оформить в процедуру? Просто мою задачу необходимо решить с использованием процедуры.
Цитата:
Сообщение от GaJIbI4 Посмотреть сообщение
Заменить каждую группу пробелов одним пробелом с использованием функций.

Последний раз редактировалось GaJIbI4; 06.11.2008 в 19:57.
GaJIbI4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с прогой на паскале glasian Помощь студентам 8 19.06.2008 00:10
Помогите с прогой на Си Diget Общие вопросы C/C++ 3 04.06.2008 00:20
помогите с прогой DeDoK Общие вопросы Delphi 7 09.05.2008 23:51
Помогите с прогой! NecRomant Общие вопросы Delphi 4 25.02.2008 20:19
Помогите с прогой DarthNemo Помощь студентам 2 06.05.2007 18:11