ОЧЕНЬ СРОЧНО!Нужно сделать к завтрашнему дню :((Прям всё ПОДРОБНО опишите пожалуйста, и...

0 голосов
37 просмотров
ОЧЕНЬ СРОЧНО!
Нужно сделать к завтрашнему дню :((
Прям всё ПОДРОБНО опишите пожалуйста, и самое главное ПРАВИЛЬНО!!!!


image

Информатика (148 баллов) | 37 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Эта программа ужасна, если честно, просто извращение над паскалем(могу в коментах объяснить почему). Но она считает вхождение букв А, то есть вариант 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 вставляем перед пробелом запятую. Проблема в том, что мы вставили запятую, перешли на новый символ - а там опять этот же пробел, он вперёд сместился из-за запятой. Поэтому лучше перебирать в обратном порядке.

Как мог расписал, спрашивайте, если что.

(4.6k баллов)