Автор: Павел
Опубликованно: 15.02.2025
Напишите программу, которая принимает на вход двумерный массив (матрицу) целых чисел и возвращает количество уникальных элементов в этой матрице.
Muffin lover
15.02.2025
Gennady
15.02.2025
Если я все правильно понял то вот решение:
program UniqueElementsInMatrix;
uses
SysUtils;
const
MAX_SIZE = 100;
type
TMatrix = array[1..MAX_SIZE, 1..MAX_SIZE] of Integer;
TUniqueSet = array[1..MAX_SIZE * MAX_SIZE] of Integer;
function CountUniqueElements(const Matrix: TMatrix; Rows, Cols: Integer): Integer;
var
i, j, k, Count: Integer;
UniqueSet: TUniqueSet;
IsUnique: Boolean;
begin
Count := 0;
for i := 1 to Rows do
begin
for j := 1 to Cols do
begin
IsUnique := True;
// Проверяем, есть ли текущий элемент в UniqueSet
for k := 1 to Count do
begin
if UniqueSet[k] = Matrix[i, j] then
begin
IsUnique := False;
Break;
end;
end;
// Если элемент уникальный, добавляем его в UniqueSet
if IsUnique then
begin
Count := Count + 1;
UniqueSet[Count] := Matrix[i, j];
end;
end;
end;
CountUniqueElements := Count;
end;
var
Matrix: TMatrix;
Rows, Cols, i, j, UniqueCount: Integer;
begin
// Ввод размеров матрицы
Write('Введите количество строк: ');
ReadLn(Rows);
Write('Введите количество столбцов: ');
ReadLn(Cols);
// Ввод элементов матрицы
WriteLn('Введите элементы матрицы:');
for i := 1 to Rows do
begin
for j := 1 to Cols do
begin
Write('Элемент [', i, ',', j, ']: ');
ReadLn(Matrix[i, j]);
end;
end;
// Подсчет уникальных элементов
UniqueCount := CountUniqueElements(Matrix, Rows, Cols);
// Вывод результата
WriteLn('Количество уникальных элементов в матрице: ', UniqueCount);
end.
Ввод данных: Пользователь вводит размеры матрицы (количество строк и столбцов), а затем сами элементы матрицы.
Поиск уникальных элементов: Программа проходит по каждому элементу матрицы и проверяет, есть ли он уже в массиве UniqueSet
. Если элемент уникальный, он добавляется в UniqueSet
.
Вывод результата: Программа выводит количество уникальных элементов.
Зарегистрируйтесь на StudCrew, чтобы оставить комментарий
погугли в инете есть ответ