const
MAX_ROWS = 10; // Максимальное количество строк
MAX_COLS = 10; // Максимальное количество столбцов
var
arr: array[1..MAX_ROWS, 1..MAX_COLS] of Integer; // Двумерный массив
rows, cols: Integer; // Количество строк и столбцов
a, count: Integer; // Заданное число и счетчик
begin
clrscr;
// Ввод количества строк и столбцов
Write('Введите количество строк (макс ', MAX_ROWS, ': '
ReadLn(rows);
Write('Введите количество столбцов (макс ', MAX_COLS, ': '
ReadLn(cols);
// Ввод элементов массива
WriteLn('Введите элементы массива:'
for var i := 1 to rows do
for var j := 1 to cols do
begin
Write('arr[', i, '][', j, ']: '
ReadLn(arr[i, j]);
end;
// Ввод искомого числа
Write('Введите число a: '
ReadLn(a);
// Подсчет элементов, равных a
count := 0;
for var i := 1 to rows do
for var j := 1 to cols do
if arr[i, j] = a then
Inc(count);
var
a, i, j, k: integer;
c: array[1..m, 1..m] of integer;
begin
randomize;
writeln('Исходный массив:'
for i := 1 to m do
begin
for j := 1 to m do
begin
c[i, j] := 19 - random(29);
write(c[i, j]:4)
end;
writeln
end;
write('a = '
readln(a);
k := 0;
writeln('Элементы, равные ', a, ':'
for i := 1 to m do
for j := 1 to m do
if c[i, j] = a then
begin
write('[',i:2, ', ', j:2, '] '
inc(k)
end;
if k > 0 then
begin
writeln;
write('их количество: ', k)
end
else write('не найдены'
end.
подходит?
Не совсем понятно, в каком смысле "дан" - введен вручную с клавиатуры или же сгенерирован автоматически при помощи генератора случайных чисел.
Ладно, напишу оба варианта на всякий случай.
1) Ручной ввод массива: Program P2;
uses crt;
const m=3;
n=3;
type massiv=array [1..m, 1..n] of real;
var a: real;
i, j, k: integer;
mas: massiv;
begin
clrscr;
k:=0;
writeln ('Заполните массив числами, вводя из с клавиатуры. После ввода каждого из чисел нажимайте клавишу Enter. При вводе дробных чисел целую часть от дробной отделяйте точкой, а не запятой.'
for i:=1 to m do
for j:=1 to n do begin
write ('Введите следующий элемент массива (число): '
readln (mas[i,j]);
end;
write ('Массив заполнен. Теперь введите любое число: '
readln (a);
for i:=1 to m do
for j:=1 to n do begin
if mas[i,j]=a then k:=k+1;
end;
if k=0 then writeln ('В веденном массиве нет элементов, равных введенному числу.' else writeln ('Количество элементов в массиве, равных введенному числу составляет: ', k);
write ('Программа завершена. Для выхода нажмите клавишу Enter.'
readkey;
end. 2) Массив генерируется автоматически: Program P2;
uses crt;
const m=3;
n=3;
type massiv=array [1..m, 1..n] of integer;
var a, i, j, k: integer;
mas: massiv;
begin
clrscr;
k:=0;
randomize;
for i:=1 to m do
for j:=1 to n do mas[i,j]:=random (101);
writeln ('Был сгенерирован массив:'
for i:=1 to m do begin
for j:=1 to n do begin
write (mas[i,j], ' '
end;
writeln (' '
end;
writeln (' '
write ('Введите с клавиатуры любое целое число, после чего нажмите клавишу Enter: '
readln (a);
for i:=1 to m do
for j:=1 to n do begin
if mas[i,j]=a then k:=k+1;
end;
if k=0 then writeln ('В веденном массиве нет элементов, равных введенному числу.' else writeln ('Количество элементов в массиве, равных введенному числу составляет: ', k);
write ('Программа завершена. Для выхода нажмите клавишу Enter.'
readkey;
end.