Задача 6. Если в строке количество пробелов больше, чем количество запятых, заменить пробелы звездочками, иначе заменить запятые звездочками
Если в строке количество пробелов больше, чем количество запятых, заменить пробелы звездочками, иначе заменить запятые звездочками. Вывести измененную строку на экран. Математическая формулировка задачи: Необходимо задать исходную строку с клавиатуры и затем посимвольно обработать ее при помощи цикла. В цикле осуществим подсчет количества пробелов и запятых в строке. После окончания просмотра всей строки можно сравнить полученное количество пробелов и количество запятых. Как заменить пробелы или запятые символом звездочка? Очевидно, нужно заново просмотреть строку посимвольно в цикле, и как только встретится интересующий нас символ (пробел или запятая), присвоить этому символу новое значение, то есть заменить его символом звездочка.
Алгоритм решения задачи 6:
Program Ex_6; Uses Crt; Label 1; Var S: string; { строка } kl, k2: integer; { количество пробелов и запятых } i: integer; { текущий номер символа строки} Begin ClrScr; Write(‘Введите строку ’); Readln(S); k1: =0; k2: =0; For i: =1 to Length(S) do { переменная i перебирает номера символов строки } Begin If S[i]=’ ’ then k1: =k1+1; { подсчитываем в цикле количество пробелов в строке } If S[i]=’, ’ then k2: =k2+1; { подсчитываем в цикле количество запятых в строке } End; If k1> k2 then begin For i: =1 to Length(S) do If S[i]=’ ’ then S[i]: =’*’; { заменяем пробелы на * } End Else If k2> k1 then begin For i: =1 to Length(S) do If S[i]=’, ’ then S[i]: =’*’; { заменяем запятые на * } End Else goto 1; Writeln(‘Измененная строка: ’, S); 1: Readln; End.
Лабораторная работа № 7.
|