[RISOLTO][C++] Array calcolo delle occorrenze
Inviato: giovedì 12 maggio 2016, 18:46
Salve a tutti, devo scrivere questo programma in c++ :
Scrivere un programma in C++ che prenda in input dall'utente n valori interi memorizzandoli in un'array.
Implementare Selection Sort e utilizzarlo per ordinare l'array. Trovare e stampare a video:
• l'array ordinato;
• il valore più piccolo, il più grande e quello col maggior numero di occorrenze.
Fino al valore più grande e più piccolo ci sono ! Il problema e che non riesco a capire come calcolare il valore col maggior numero di occorrenze. Io ho sempre inserito un numero in input e con un contatore mi sono calcolato quante volte compare, qui invece vuole sapere direttamente qual'è quello col maggior numero di occorrenze. Qualcuno potrebbe aiutarmiii
Ecco qui il mio codice cosi che potete vedere se fino al valore più piccolo e più grande è giusto
Scrivere un programma in C++ che prenda in input dall'utente n valori interi memorizzandoli in un'array.
Implementare Selection Sort e utilizzarlo per ordinare l'array. Trovare e stampare a video:
• l'array ordinato;
• il valore più piccolo, il più grande e quello col maggior numero di occorrenze.
Fino al valore più grande e più piccolo ci sono ! Il problema e che non riesco a capire come calcolare il valore col maggior numero di occorrenze. Io ho sempre inserito un numero in input e con un contatore mi sono calcolato quante volte compare, qui invece vuole sapere direttamente qual'è quello col maggior numero di occorrenze. Qualcuno potrebbe aiutarmiii
Ecco qui il mio codice cosi che potete vedere se fino al valore più piccolo e più grande è giusto
Codice: Seleziona tutto
#include<iostream>
using namespace std;
const int DIM=100;
void CaricaVettore(int v[DIM], int n){
for(int i=0; i<n; i++)
{
cout<<"Inserisci il "<<i+1<<" elemento: ";
cin>>v[i];
}
}
void Stampa(int v[DIM], int n){
for(int i=0; i<n; i++)
{
cout<<v[i]<<"\t";
}
cout<<endl;
}
void SelectionSort(int v[DIM], int n) {
int min;
for(int i=0;i<n;i++)
{
min = i;
for(int j=i+1;j<n;j++)
{
if(v[j] < v[min])
min = j;
}
int aux=v[i];
v[i]=v[min];
v[min]=aux;
}
}
int RicercaMax(int v[DIM], int n){
int max=0;
max=v[0];
for(int i=0; i<n; i++)
{
if(v[i]>max)
{
max=v[i];
}
}
return max;
}
int RicercaMin(int v[DIM], int n){
int min=0;
min=v[0];
for(int i=0; i<n; i++)
{
if(v[i]<min)
{
min=v[i];
}
}
return min;
}
int main(){
int vett[DIM], n;
cout<<"Inserisci dimensione vettore: ";
cin>>n;
cout<<endl;
CaricaVettore(vett,n);
cout<<"\n***ECCO IL VETTORE***"<<endl;
Stampa(vett,n);
cout<<"\n***ECCO IL VETTORE ORDINATO***"<<endl;
SelectionSort(vett,n);
Stampa(vett,n);
cout<<"\nIl valore piu' grande e': "<<RicercaMax(vett,n)<<endl;
cout<<"Il valore piu' piccolo e': "<<RicercaMin(vett,n)<<endl<<endl;
}