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

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

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

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


Новичок
*

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

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


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


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


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

Сообщение отредактировано: Connected -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


А до этого надо писать uses crt или что-то еще? Если да, то что именно? Заранее спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


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

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

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


lol.gif yes2.gif

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


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


Новичок
*

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

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


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


Новичок
*

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

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


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

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

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


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


Новичок
*

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

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


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


Новичок
*

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

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


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

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


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

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


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

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

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


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


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


Новичок
*

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

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


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


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

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

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

 





- Текстовая версия 26.10.2020 21:33
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name