Двумерный массив MxN заполнить случайными символами английского алфавита (заглавные). Вывести на экран сколько раз встречается каждый символ.
Программа написана с учетом того, что неизвестно какие номера по таблице символов имеют буквы A и Z, а также неизвестна длина алфавита. Это делает программу немного сложнее, но придает ей гибкость (достаточно поменять символы, код менять не надо).
Выражение ord('Z')-ord('A')+1 вычисляет длину диапазона. Например, порядковый номер Z равен 90, A = 65. Тогда 90 - 65 = 25, однако всего букв 26 (границы диапазона входят в него), поэтому следует прибавить единицу.
В массиве let первой букве алфавита соответствует индекс 1, второй - 2 и т. д. Если известно, какой порядковый номер имеет буква, то можно установить соответствие между индексами и номерами: arr[i,j]-ord('A')+1. Например, arr[i,j] равно 67, буква A имеет номер 65. 67 - 65 = 2. 2 + 1 = 3. Т.е. букве C будет соответствовать третий элемент массива let.
const m = 25; n = 15; var arr: array[1..n,1..m] of byte; let: array[1..30] of byte; i,j: byte; begin randomize; for i:=1 to n do begin for j:=1 to m do begin arr[i,j] := ord('A') + random(ord('Z')-ord('A')+1); write(chr(arr[i,j]):2) end; writeln; end; for i:=1 to n do for j:=1 to m do let[arr[i,j]-ord('A')+1] := let[arr[i,j]-ord('A')+1] + 1; for i:=1 to (ord('Z')-ord('A')+1) do begin write(chr(i+ord('A')-1):3, ' - ', let[i]:2); if i mod 5 = 0 then writeln; end; readln; end.
Последние комментарии
1 день 4 часа назад
3 дня 23 часа назад
4 дня 1 час назад
4 дня 23 часа назад
6 дней 1 час назад
6 дней 3 часа назад
6 дней 8 часов назад
1 неделя 9 мин. назад
1 неделя 1 час назад
1 неделя 1 день назад