👤

Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Să se determine elementul cu număr maxim de apariții în matrice. Dacă există mai multe elemente cu număr maxim de apariții se va afișa cel mai mare dintre ele.
Ex:4 6
4 20 15 23 18 9
15 8 23 23 14 18
17 15 13 18 12 1
3 18 8 23 12 15
Date Iesire: 23.
Va rog daca puteti sa scrieti codul cu indici(cu o singura litera) pentru ca nu prea inteleg altfel


Răspuns :

#include <iostream>
using namespace std;

int n, m, poz, newpoz, Max, nrMax, v[100][100];
int placinta[2][10005];

int cauta(int val)
{
    for(int i=1; i<=poz; i++)
        if(val == placinta[0][i])
            return i;
    return 0;
}

int main()
{
    cin >> n >> m;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++) {
            cin >> v[i][j];
            if(!(newpoz = cauta(v[i][j]))) {
                placinta[0][++poz] = v[i][j];
                placinta[1][poz] = 1;
            }
            else {
                placinta[1][newpoz]++;
                if(placinta[1][newpoz] >= Max) {
                    Max = placinta[1][newpoz];
                    if(placinta[0][newpoz] > nrMax)
                        nrMax = placinta[0][newpoz];
                }
            }
        }

    cout << "Numarul cu cele mai multe aparitii este: " << nrMax << '\n';
    return 0;
}