Если в строке количество пробелов больше, чем количество запятых, заменить пробелы звездочками, иначе заменить запятые звездочками. Вывести измененную строку на экран.
Математическая формулировка задачи:
Необходимо задать исходную строку с клавиатуры и затем посимвольно обработать ее при помощи цикла. В цикле осуществим подсчет количества пробелов и запятых в строке. После окончания просмотра всей строки можно сравнить полученное количество пробелов и количество запятых.
Как заменить пробелы или запятые символом звездочка? Очевидно, нужно заново просмотреть строку посимвольно в цикле, и как только встретится интересующий нас символ (пробел или запятая), присвоить этому символу новое значение, то есть заменить его символом звездочка.
Алгоритм решения задачи 6:
Текст программы к задаче 6:
ProgramEx_6;
Uses Crt;
Label1;
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;
Ifk1>k2 then begin
For i:=1 to Length(S) do
If S[i]=’ ’ thenS[i]:=’*’; { заменяем пробелы на * }
End
Else
Ifk2>k1 then begin
For i:=1 to Length(S) do
If S[i]=’, ’ then S[i]:=’*’; { заменяем запятые на * }
End
Elsegoto 1;
Writeln(‘Измененная строка: ’,S);
1: Readln;
End.