ОЧЕНЬ СРОЧНО! Нужно сделать к завтрашнему дню :(( Прям всё ПОДРОБНО опишите пожалуйста, и самое главное ПРАВИЛЬНО!!!!
Answers & Comments
emblerik
Эта программа ужасна, если честно, просто извращение над паскалем(могу в коментах объяснить почему). Но она считает вхождение букв А, то есть вариант 2) То есть виден цикл, которым мы бежим по строке и в переменную s добавляем каждый раз, когда условие верно. А условие (ужасное) гласит взять одну букву вперед от места, где мы сейчас и сравнить с 'a'.
var s : string; i : integer; begin readln (s); for i := length (s) downto 1 do if s[i] = ' ' then insert (',', s, i); writeln (s); end. Тут всё тоже просто, бежим по строке, если видим пробел, то функцией insert вставляем перед пробелом запятую. Проблема в том, что мы вставили запятую, перешли на новый символ - а там опять этот же пробел, он вперёд сместился из-за запятой. Поэтому лучше перебирать в обратном порядке.
Answers & Comments
То есть виден цикл, которым мы бежим по строке и в переменную s добавляем каждый раз, когда условие верно. А условие (ужасное) гласит взять одну букву вперед от места, где мы сейчас и сравнить с 'a'.
var
s : string;
i : integer;
begin
readln (s);
for i := length (s) downto 1 do
if s[i] = ' ' then
insert (',', s, i);
writeln (s);
end.
Тут всё тоже просто, бежим по строке, если видим пробел, то функцией insert вставляем перед пробелом запятую. Проблема в том, что мы вставили запятую, перешли на новый символ - а там опять этот же пробел, он вперёд сместился из-за запятой. Поэтому лучше перебирать в обратном порядке.
Как мог расписал, спрашивайте, если что.