Оффтоп:
Раз прога для новичка, то можно прям нормальным таким махровым G-кодом ответить, особо не стесняясь :-)
Бросьте на форму поле мемо и кнопку, последней присвойте эту процедуру обработки жима по ней
Код:
...
var
Zapis: string =
'Привет всем. Помогите написать программу. ' +
'"Вывести процент чаще всего встречающейся' +
' буквы в записи" Всем спасибо, заранее))';
procedure TForm1.Button1Click(Sender: TObject);
var
i, j, b: integer;
s: string;
chr: array of char;
cnt: array of integer;
flg: boolean;
begin
s:='';
for i := 1 to Length(Zapis) do
if Zapis[i] in ['a'..'z', 'A'..'Z', 'а'..'я', 'А'..'Я', 'ё', 'Ё'] then
s:= s + Zapis[i];
SetLength(chr, 1);
SetLength(cnt, 1);
chr[0]:= s[1];
cnt[0]:= 1;
for i := 2 to Length(s) do
begin
flg:= true;
for j := Low(chr) to High(chr) do
if s[i] = chr[j] then
begin
flg:= false;
Inc(cnt[j]);
end;
if flg then
begin
SetLength(chr, Length(chr)+1);
SetLength(cnt, Length(cnt)+1);
chr[High(chr)]:= s[i];
cnt[High(cnt)]:= 1;
end;
end;
Memo1.Clear;
i:= 0;
for j := Low(cnt) to High(cnt) do
if cnt[j] > i then i:= cnt[j];
b:= Length(s);
for j := Low(chr) to High(chr) do
begin
s:= chr[j] + ' - ' + FloatToStr(Round(100 * cnt[j] / b)) +' %';
if cnt[j] = i then s:= s + ' - чаще всего встречающаяся буквa в записи';
Memo1.Lines.Add(s);
end;
end;
В Мемо1 будет развёрнутый ответ на поставленную задачу, если только с расчётом процентов ничего не напутал