//Pascal var S: string; i, Count: byte; begin write('Введите строку: '); readln(S); for i := Length(S) downto 1 do if ((S[i] = '3') or (S[i] = '6') or (S[i] = '9')) then begin Count := Count + 1; Delete(s,i,1); end; writeln('Количество цифр кратных трем = ', Count); writeln('Строка после удаления = ', S); end.
//FreePascal/Delphi/PascalABC.NET(v3.3.1590) {$MODE OBJFPC} //В PascalABC.NET можно убрать uses SysUtils; //В PascalABC.NET можно убрать var S: string; i, Count: byte; begin write('Введите строку: '); readln(S); for i := Length(S) downto 1 do try if StrToInt(S[i]) mod 3 = 0 then begin Count := Count + 1; Delete(s,i,1); end; except end; writeln('Количество цифр кратных трем = ', Count); writeln('Строка после удаления = ', S); end.
НЕТ
Объяснение:
Ветвление исполняется только 1 раз(то есть если условие соблюдается, то вправо если нет, то влево), а цикл используется для повторных входов