Одна з досить цікавих задач, яку можна розв’язувати багатьма способами. Але найцікавішим, на наш погляд, є спосіб, коли ми поступимо досить несподіваним чином: враховуючи, що символів, які ми можемо вводити з клавіатури є небагато – всього 255, ми утворимо масив з 255 елементів типу integer (при вводі з клавіатури нам з головою вистачило б і byte), обнулимо масив і просто будемо збільшувати елементи масиву з порядковим номером, що відповідає черговому введеному символу. По закінченню розгляду введеного тексту знайдемо в масиві найбільше число і виведемо на екран і його (число) і символ (літеру), що йому відповідає. Програма, що реалізує даний алгоритм буде такою:
program max_simbol;
var st : string;
i : integer;
simvol : array[1..255] of integer;
k, max : integer;
begin
write(‘Введiть текст: ’);
readln(St);
for i := 1 to 255 do simvol [ i ] := 0;
for i := 1 to length(st) do inc( simvol [ ord ( st [ i ] ) ] );
max := 0;
for i := 1 to 255 do if simvol [ i ] > max then
begin
max := simvol [ i];
k := i;
end;
writeln(‘Найчастiше зустрiчається символ: «’, chr(k), ‘» -> ’,max);
readln
end.
Немає коментарів:
Дописати коментар