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?
Răspunsuri la întrebare
Răspuns de
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;}
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
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
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
Alte întrebări interesante
Biologie,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă