profile
Опубликовано 5 лет назад по предмету Информатика от ВиКтоРиЯ29584

10 класс
Составьте программу, позволяющую проверить правописание "ча" и "ща" в строке s. Выведите на экран количество допущенных ошибок и исправленную строку.
Пример ввода:
чащя, пуща, чящоба, гущя. { строка s }
Пример вывода:
Количество ошибок = 3
Исправленная строка:
чаща, пуща, чащоба, гуща.
Паскаль

  1. Ответ
    Ответ дан temateam

    Как-то так:

    //fpc 3.0.0


    program HelloWorld;


    var

       str, ps1, zm1, ps2, zm2: string;

       errors, i: integer;


    begin

    // обнуляем ошибки

       errors:= 0;

       

       // просим строку

       writeln('Enter string: ');

       readln(str);

       

       ps1:= 'чя'; // ищем в строке

       zm1:= 'ча'; // меням на


       ps2:= 'щя'; // ищем в строке

       zm2:= 'ща'; // меняем на


       // перебираем строку посимвольно

       for i:=length(str) downto 1 do

     

     // если нашли нужную подстроку, которая в ps1

     if copy(str,i,length(ps1))=ps1 then

     begin

      inc(errors);       // увеличиваем счетчик ошибок

      insert(zm1,str,i);      // вставояем перед найденой подстрокой нашу новую подстроку из zm1

      delete(str,i+length(zm1),length(ps1)); // удаляем старую подстроку

     end;



    // перебираем строку посимвольно

    for i:=length(str) downto 1 do

     

     // если нашли нужную подстроку, которая в ps2

     if copy(str,i,length(ps2))=ps2 then

     begin

      inc(errors);       // увеличиваем счетчик ошибок

      insert(zm2,str,i);      // вставояем перед найденой подстрокой нашу новую подстроку из zm2

      delete(str,i+length(zm2),length(ps2)); // удаляем старую подстроку

     end;

       

       // выводим

       writeln('Количество ошибок = ', errors);

       writeln('Исправленная строка: ', str);

    end.



    Результат работы в приложении. Более читабельную версию кода можно посмотреть и проверить тут: https://rextester.com/OWVV92742

    1. Ответ
      Ответ дан ВиКтоРиЯ29584
      Слишком много... Программа за 10 класс, училка сразу поймет, что не мы писали, а списали
    2. Ответ
      Ответ дан temateam
      Всего лишь 49 строчек. Можно выкинуть валидацию для ЧА и оставить только ЩА и будет 38 строчек. Но логика тут достаточно простая, поэтому и строчек много.