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

Составьте программу подсчета различных элементов двумерного массива A(N,M).
Гость
Ответ(ы) на вопрос:
Гость
В C++ #include #include #include int main() {     using namespace std;     const int N = 5;     const int M = 6;     int A[N][M];     //Как-нибудь заполняем массив     srand(time(0));     for (int i = 0; i < N; ++i)         for (int j = 0; j < M; ++j)             A[i][j] = rand() % (N * M) + 1;     for (int i = 0; i < N; ++i)     {         for (int j = 0; j < M; ++j)             cout << setw(4) << A[i][j];         cout << endl;     }         //Подсчитываем сумму всех элементов массива     int sum = 0;     for (int i = 0; i < N; ++i)         for (int j = 0; j < M; ++j)             sum += A[i][j];     //Вычитаем из полученной суммы повторяющиеся элементы     for (int i = 0; i < N; ++i)         for (int j = 0; j < M; ++j)         {             bool flag = false;             for (int i1 = 0; i1 < N; ++i1)             {                 for (int j1 = 0; j1 < M; ++j1)                     if (!(i == i1 && j == j1))                         if (A[i][j] == A[i1][j1])                         {                             sum -= A[i][j];                             flag = true;                             break;                         }                 if (flag)                     break;             }         }     cout << "Sum of different: " << sum << endl;     return 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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы