Предмет: Информатика, автор: kosmosnikita

Составьте программу подсчета различных элементов двумерного массива A(N,M).

Ответы

Автор ответа: Аноним
0
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
  var n:=ReadInteger('N=');
  var m:=ReadInteger('M=');
  var a:array of array of integer;
  SetLength(a,N);
  for var i:=0 to n-1 do begin
    a[i]:=ArrRandom(m,10,99);
    a[i].Println
    end;
  Println('Различных элементов',a.SelectMany(x->x).ToHashSet.Count)
end.

Тестовое решение:
N= 5
M= 8
92 37 63 60 17 38 79 64
13 52 90 29 90 84 41 39
59 94 48 89 79 25 30 75
14 51 14 30 33 78 42 45
59 84 76 57 43 78 71 90
Различных элементов 32
Автор ответа: Аноним
0
Объяснение. Метод SelectMany "разворачивает" двумерный массив А в последовательность элементов. Эта последовательность помещается в стандартный для .NET набор HashSet, который строится на базе хэш-таблицы, т.е. не допускает одинаковых значений. А далее метод Count возвращает количество элементов в этом наборе.
Автор ответа: Аноним
0
Можно, конечно, попытаться реализовать решение допотопными "школьными" методами, но это трудозатратно и не может быть оценено в 5 баллов.
Похожие вопросы
Предмет: Алгебра, автор: SateSateSateee