Задача на Pascal | StudCrew

Автор: Павел

Опубликованно: 15.02.2025


Задача на Pascal


Напишите программу, которая принимает на вход двумерный массив (матрицу) целых чисел и возвращает количество уникальных элементов в этой матрице.

Ответы на вопрос

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.
  1. Ввод данных: Пользователь вводит размеры матрицы (количество строк и столбцов), а затем сами элементы матрицы.

  2. Поиск уникальных элементов: Программа проходит по каждому элементу матрицы и проверяет, есть ли он уже в массиве UniqueSet. Если элемент уникальный, он добавляется в UniqueSet.

  3. Вывод результата: Программа выводит количество уникальных элементов.

 

Зарегистрируйтесь на StudCrew, чтобы оставить комментарий