Количество заданного символа в массиве. - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Формулируется так: Даны n символов, нужно подсчитать сколько раз в строке встречается произвольный символ(вводится с клавиатуры), через процедуру. Я написал такой код, знаю что не правильный. Не понимаю в чем ошибки, помогите исправить

Решение задачи: «Количество заданного символа в массиве.»

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 - заданный массив символов. Процесс работы программы следующий:

  1. Создается процедура get, которая принимает три аргумента: массив a, число n и символ c. Внутри процедуры объявлены две переменные: i и h. Переменная i используется для цикла, а переменная h - для подсчета количества вхождений символа c в массив a.
  2. Задается переменная s типа mas и присваивается значение массива символов.
  3. Затем, в цикле for, программа запрашивает у пользователя количество символов, которое нужно найти (n), и каждый символ из этого количества (i). Для каждого введенного символа, программа проверяет, совпадает ли он с искомым символом (if a[i] = c then h := h + 1). Если символы совпадают, то переменная h увеличивается на единицу.
  4. После того, как все символы были проверены, программа выводит на экран количество найденных символов.
  5. В конце программы создается переменная ch типа char, и пользователю предлагается ввести символ, который он хочет найти.
  6. Затем вызывается процедура get с аргументами s, n и ch. Результат выполнения процедуры выводится на экран.

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы