Informatică, întrebare adresată de Utilizator anonim, 9 ani în urmă


Afisati pentru un sir de n elemente care este numarul de aparitii ale fiecarei valori. Exemplu: n=6 si vectorul (3,13,3,13,18,13) se va afisa
13 3
3 2
18 1

As vrea o rezolvare cat mai simpla, multumesc


artur99: Numere întregi?
artur99: Ai ceva limite?

Răspunsuri la întrebare

Răspuns de passbrain123
2
Nu stiu daca e destul de simplu
Creez inca o matrice cu 2 linii, unde retin fiecare element o singura data si frecventa de aparitie
#include <iostream>#include <cmath>using namespace std;
int main(){    int n, v[100],f[3][100], elem = 0;    cin>>n;    for (int i=1; i<=n; i++) {        cin>>v[i];        int gasit = 0, k=1;        while (!gasit && k<=elem) {            if (f[1][k]==v[i]) {                    f[2][k]++;                    gasit=1;            }            k++;        }        if (!gasit) {            elem++;            f[1][elem]=v[i];            f[2][elem]=1;        }    }    for (int i=1; i<=elem; i++)        cout<<f[1][i]<<" "<<f[2][i]<<endl;    return 0;}
Anexe:
Răspuns de artur99
2
#include<iostream>
using namespace std;
long long int a[9000000];
int main(){
    int n,t,m=0;
    cin>>n;
    while(n--){
        cin>>t;
        a[t]++;
        if(t>m)m=t;
    }
    for(i=0;i<=t;i++){
        if(a[i]){
            cout<<i<<" "<<a[i]<<endl;
        }
    }
}




Doar dacă numerele sunt întregi și mai mici de 9 milioane

artur99: Uitasem să declar i-ul, l-ai declarat?
artur99: La mine merge ok
artur99: LOOOOL, ești sigur că ai compilat ce trebuie?
artur99: :))
Alte întrebări interesante