Ответы:
на чем хоть написать надо? Вы тут не про москву, которая дефолт-сити, а про языки, из-за которых и похоливарить можно ;)
представим что начинается стринговый массив уже с слова
begin
readln(s);
m:=2;
i:=1;
while i<length(s) do begin
if s[m]=';' or s[m]=' ' then begin g:=s[m-1]; s[m-1]:=s[i];s[i]:=g; i:=m+1; m:=m+2 end
else m:=m+1;
end;
writeln(s);
end.
мож я где-то и напутал, всё-таки 15 минут 4-го
Nxaj,
твоя программа зациклится на любом тесте, состоящем только из букв.
Артёмка,
балин, я ж говорю-3 часа ночи.
как обозначить пустую клетку стринга?
Вот мой вариант.
var s: string;
i, j:integer;
ch: char;
begin
readln(s);
j = 0;
for i := 1 to length(s) do begin
if (length(s) = i) or (s[i + 1] = ' ') or (s[i + 1] = ';') do begin
if (j > 0) then begin
ch := s[i]; s[i] := s[j]; s[j] := ch; j := 0;
end;
end else begin
if (j = 0) then j := i;
end;
end;
end.
Nxaj,
а что такое "пустая клетка стринга"?
гдето есть ошибка не могу найти(((
1. Не объявлена переменная s
2. s[i]:=a; Символьной переменной вроде нельзя присваивать строки
3. эжэ надо заменить на ';'
4. Переменная l используется только в присваивании.
5. В алгоритме явно что-то не то.
Артёмка,
не надо меня сбивать и всё получается правильно:
uses crt;
var i,m:integer;
s:string;
g:char;
begin
readln(s);
m:=2;
i:=1;
while i<length(s) do begin
if (s[m]=';')or (s[m]=' ')or (m>length(s)) then begin g:=s[m-1]; s[m-1]:=s[i];s[i]:=g; i:=m+1; m:=m+2 end
else m:=m+1;
end;
writeln(s);
readkey;
end.
p.s. "пустая клетка стринга"-пустой байт где ничего не записано
это относится к тому случаю когда текст состоит из одного слова
решил эту проблему путем добавления условия (m>length(s))
в общем у меня такое-же решение только "стили" отличаются
> не надо меня сбивать и всё получается правильно
Я не сбиваю, а указываю на недочеты.
Дополнение #4
только что проверял
>Твоя новая программа завалится на таком тесте:
>a;;a
ктулху? :-D
я на повторение 2 разделительных знаков и не рассчитывал:"дан текст, слова разделены пробелом или ";".поменять первую и последнюю букву каждого слова."
даже если оч хочется, щас переделаю
>>"пустая клетка стринга"-пустой байт где ничего не записано
>Такого в паскале не бывает.
она условная, если даже не для компилятора, то для меня
>> не надо меня сбивать и всё получается правильно
>Я не сбиваю, а указываю на недочеты.
за это спасибо
> даже если оч хочется, щас переделаю
Нет, я же в шутку. И так сойдет.
16 лет назад