Процент цифр можно найти, как процентное отношение количества цифр к длине строки, но при этом будут учитываться и пробелы. Если в строке есть символы, которые учитывать не надо, следует подсчитать количество таких символов и предварительно вычесть его из длины строки. В приведенной ниже программе для простоты считается, что учитываться должны все символы.
const digits=['0'..'9']; var i,k,n:integer; p:real; s:string; begin Writeln('Введите строку'); Readln(s); n:=Length(s); k:=0; for i:=1 to n do if s[i] in digits then Inc(k); p:=100*k/n; Writeln('Процент цифр в строке равен ',p:0:2) end.
Тестовое решение: Введите строку Самым большим водопадом в мире считается Анхель (Венесуэла), его высота 979м. Открыт в 1933г. летчиком Джеймсом Анхель. Процент цифр в строке равен 5.88
Const n=7; type V=array[1..n] of real; procedure mReplace(t:real;var a:V;var k:integer); var i:integer; begin k:=0; for i:=1 to n do if a[i]<t then begin a[i]:=t; Inc(k) end end;
var T:real; i,k1,k2:integer; P,C:V; begin Write('Введите значение T: '); Read(T); Writeln('Введите элементы массива P'); for i:=1 to n do Read(P[i]); Writeln('Введите элементы массива C'); for i:=1 to n do Read(C[i]); mReplace(T,P,k1); mReplace(T,C,k2); if k1>k2 then begin Writeln('Измененнный массив Р'); for i:=1 to n do Write(P[i],' ') end else if k2>k1 then begin Writeln('Измененнный массив C'); for i:=1 to n do Write(C[i],' ') end else Writeln('Число замен в массивах равно ',k1) end.
Тестовое решение: Введите значение T: 0.005 Введите элементы массива P 0.001 1.54 -2.75 0.002 -0.1 1.2 -0.47 Введите элементы массива C -5.74 0.0001 4.1 7.24 -1.5 2.9 0.004 Измененнный массив Р 0.005 1.54 0.005 0.005 0.005 1.2 0.005