Количество заданного символа в массиве. - Pascal ABC
Формулировка задачи:
Формулируется так:
Даны n символов, нужно подсчитать сколько раз в строке встречается произвольный символ(вводится с клавиатуры), через процедуру.
Я написал такой код, знаю что не правильный.
Не понимаю в чем ошибки, помогите исправить
Листинг программы
- Program asgba;
- var
- h :integer;
- ram :real;
- procedure get(h :integer);
- var
- s: array[1..100] of integer;
- ram :real;
- i, n :integer;
- begin
- ram:=0;
- write('Введите количество символов: ');
- readln(n);
- for i := 1 to n do begin
- write('Введите символ №',i,': ');
- readln(s[i]);
- end;
- write('Введите символ который хотите найти: ');
- readln(h);
- for i := 1 to n do begin
- if s[i] = h then
- ram := ram + 1;
- end;
- end;
- begin
- get(h);
- writeln('Количество символов ',h, '= ', ram);
- end.
Решение задачи: «Количество заданного символа в массиве.»
textual
Листинг программы
- Program asgba;
- type mas=array[1..100] of char;
- procedure get(a:mas;n:integer;c:char;var h:integer);
- var i:integer;
- begin
- h:=0;
- for i:=1 to n do
- if a[i]=c then h:=h+1;
- writeln('Количество символов ',c, '= ', h);
- end;
- var s:mas;
- ch:char;
- n,i,k:integer;
- begin
- write('Введите количество символов n=');
- readln(n);
- for i:=1 to n do
- begin
- write('Введите символ №',i,': ');
- readln(s[i]);
- end;
- write('Введите символ который хотите найти: ');
- readln(ch);
- get(s,n,ch,k);
- end.
Объяснение кода листинга программы
В данном коде объявлены две переменные типа mas
: s
и a
. Переменная s
представляет собой массив символов, а переменная a
- заданный массив символов.
Процесс работы программы следующий:
- Создается процедура
get
, которая принимает три аргумента: массивa
, числоn
и символc
. Внутри процедуры объявлены две переменные:i
иh
. Переменнаяi
используется для цикла, а переменнаяh
- для подсчета количества вхождений символаc
в массивa
. - Задается переменная
s
типаmas
и присваивается значение массива символов. - Затем, в цикле
for
, программа запрашивает у пользователя количество символов, которое нужно найти (n
), и каждый символ из этого количества (i
). Для каждого введенного символа, программа проверяет, совпадает ли он с искомым символом (if a[i] = c then h := h + 1
). Если символы совпадают, то переменнаяh
увеличивается на единицу. - После того, как все символы были проверены, программа выводит на экран количество найденных символов.
- В конце программы создается переменная
ch
типаchar
, и пользователю предлагается ввести символ, который он хочет найти. - Затем вызывается процедура
get
с аргументамиs
,n
иch
. Результат выполнения процедуры выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д