Informatică, întrebare adresată de razvirazvan42, 9 ani în urmă

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


AntiEaglesDavids: "daca puteti sa scrieti codul cu indici(cu o singura litera) pentru ca nu prea inteleg altfel" - asta e o gluma nu-i asa?

Răspunsuri la întrebare

Răspuns de AntiEaglesDavids
0
#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;
}


AntiEaglesDavids: apropo asta e varianta complicata si nu prea eficienta dar e buna pentru clasa dupa parerea mea
Alte întrebări interesante