|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Программа для новичка
Привет всем. Помогите написать программу. "Вывести процент чаще всего встречающейся буквы в записи" Всем спасибо, заранее))
|
#2
|
||||
|
||||
Легко:
Код:
begin WriteLn('Вывести процент чаще всего встречающейся буквы в записи'). end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
||||
|
||||
Оффтоп:
Раз прога для новичка, то можно прям нормальным таким махровым 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; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |