IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Обработка строк
Connected
сообщение 19.03.2007 20:53
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Отредактировать предложение, удаляя из него лишние пробелы, оставляя только по одному пробелу между словами.


Если возможно, представить алгоритм решения задания.


Заранее, СПАСИБО!

Сообщение отредактировано: Connected - 19.03.2007 20:58
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Артемий
сообщение 19.03.2007 21:28
Сообщение #2


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


readln(s);
for i:=1 to length(s)do begin
if (s[i]=' ') and (s[i+1]=' ') then begin
a:=i;
repeat
delete(s,a,1);
until (s[a+1]<>' ');
end;
end;


Попробуй так...?


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Connected
сообщение 19.03.2007 21:32
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


А до этого надо писать uses crt или что-то еще? Если да, то что именно? Заранее спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Tan
сообщение 19.03.2007 21:41
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Вот полная программа на основе алгоритма Артемия :
var i,a : integer;
s : string;
begin
readln(s);
for i:=1 to length(s)do begin
if (s[i]=' ') and (s[i+1]=' ') then begin
a:=i;
repeat
delete(s,a,1);
until (s[a+1]<>' ');
end;
end;
writeln (s);
readln;
end.


Модуль CRT здесь не обязателен, вот если бы ты использовал readkey или ClrScr, тогда бы он пригодился.

Сообщение отредактировано: Tan - 19.03.2007 21:42


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Алена
сообщение 19.03.2007 21:53
Сообщение #5


Гость






Так не проще?

var
p: integer;
s: string;
begin
readln(s);
{ s := '123 12 1222 12 15'; }
repeat
p := pos(' ', s);
if p > 0 then delete(s, p, 1);
until p = 0;
writeln(s);
end.
 К началу страницы 
+ Ответить 
Артемий
сообщение 19.03.2007 21:54
Сообщение #6


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


lol.gif yes2.gif

Сообщение отредактировано: Артемий2 - 19.03.2007 21:55


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Connected
сообщение 20.03.2007 19:49
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


А как блок-схема выглядит? Кто-то может помочь составить?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Connected
сообщение 3.04.2007 16:59
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Вот я сам попытался составить блок-схему...
Правильно?
Если нет, то в чем ошибка? Как исправить?

P.S. - схема составлена для программы Алены.

Сообщение отредактировано: Connected - 3.04.2007 17:03


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
AnTiDoD
сообщение 3.04.2007 17:20
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 33
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Поищи в поиске... В FAQ есть неплохая функция по разбиению слов на массивы, вот там то и есть код ля убирания доп. пробелов
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Connected
сообщение 4.04.2007 13:34
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Цитата(AnTiDoD @ 3.04.2007 17:20) *

Поищи в поиске... В FAQ есть неплохая функция по разбиению слов на массивы, вот там то и есть код ля убирания доп. пробелов


да саму программу я уже составил!
проблема с блок-схемой..

Сообщение отредактировано: Connected - 4.04.2007 13:34
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 4.04.2007 13:38
Сообщение #11


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Программа построения блок-схем
?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Connected
сообщение 4.04.2007 18:00
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Цитата(klem4 @ 4.04.2007 13:38) *


сделал всё, как описано в readme...
но прога (Bs) пишет: "ошибка листинга"..
в чем проблема?

Сообщение отредактировано: Connected - 4.04.2007 18:40
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.06.2025 3:55
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"