Работа со строками
я уже как только не писал эту программу,препод-злыдень придирается и посылает.Вроде бы задача простая,вам труда не составит.Так что вот:
С клавиатуры вводится строка длиной не более 60 символов.Отдельные слова в строке разделены пробелами.
Вывести на экран строку, задав с консоли ее новую длину(менее 60 символов).Разрыв слов при выводе не допускается.
Заранее спасибо!
То что написал, в студию.
uses crt;
const d=60;
var s:string[d];
i,k,m,n:integer;
begin
clrscr;
writeln('vvedite stroku');readln(s);
writeln('vvedite novuy dlinu stroki');readln(k);
m:=0;
while k+m<=length(s) then
begin
for i:=k+m downto 1+m do
if s=' ' then
begin
n:=m;
m:=i;
end;
for i:=n+1 to m do write(s);
writeln;
end;
for i:=m+1 to length(s) do write(s);
readkey
end.
прога в 2 строки получится )
типа этого:
writeln('vv. stroku;');
readln(a);
while a<lenght(s)
if s[a]=' ' then delete(s,a-1,a);
a:=a+1;
end;
потом удаляем лишние символы в конце строки.
код не проверял,но он должен работать )
идеш назад по строке, от значения новой длины, и как только найдеш пробел
Код:
s='\0';
я посмотрел ваши предложения, но эта программа работает с перебоями