Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Работа со строками

Автор: WiZZarD 9.11.2006 15:05

Каким образом можно разбить строку на слова, а затем слова на буквы?Строка, кол-во слов и буквы вводятся...
Нужно ли находить длинну строки и кол-во символов в ней? И как сделать так, чтобы если ты ввел строку из 50 символов, она делилась на 4 слова по 7 букв?

Автор: klem4 9.11.2006 15:27

Ну во первых смотри тут : http://forum.pascal.net.ru/index.php?showtopic=6972


Во вторых

Цитата
ввел строку из 50 символов, она делилась на 4 слова по 7 букв?


4 * 7 = 28 unsure.gif

Автор: WiZZarD 9.11.2006 20:29

Вообщем вводится строка мне нужно разбить ее пробелами через заданое кол-во символов думаю использовать процедуру insert. Есть лучше способ?

Автор: volvo 9.11.2006 20:35

В каком смысле "лучше"? Быстрее? Эффективнее? Красивее?

Лучшее, вообще-то, враг хорошего... Ты сначала с Insert сделай, а потом будешь улучшать...

Автор: WiZZarD 9.11.2006 20:52

вот тут конечно ошибка но хочется узнать я правильно делаю или нет?

Цитата
program Project3;

{$APPTYPE CONSOLE}

uses
SysUtils;

type s=string[80];
procedure insert(s:string;var s2,s1:string;i:integer);
var
m:integer;
begin
Writeln('Enter the String...');
readln(s);
Writeln('Enter the m...');
readln(m);
for m:=1 to length(s) do
s1:=' ';
s:='maxwelld';
insert(s,s1,m);
end;
end.

Автор: мисс_граффити 9.11.2006 22:26

для начала, назови процедуру по-другому - а то запутаешься в своем и паскалевском insert'е. собственно, уже запутался.
во-вторых: как ты узнаешь, где конец слова? они чем-то разделены или заданы длины каждого слова?

Автор: WiZZarD 10.11.2006 2:27

Вообщем задача формулируется так: Дана строка из N букв.Разбить строку на К слов, в каждом из которых
не более m букв.Вывести исходную строку и результат обработки строки.

препод сказал что нужно просто ввести строку и разбить ее пробелами на m кол-во букв а слова мол автоматически получатся...