Retour d'un tableau dynamique apres classement
Bonjour ,
Je voudrai recevoir un tableau dynamique de type double en argument d'une fonction ,
Trier ses éléments par ordre croissant et retourner ce tableau . Est ce possible ?
Ce que j'ai ecrit dans ma fonction classement n'a pas l'air correcte .
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| #include <iostream>
#include <vector>
using namespace std;
int const nb(5);
double moyenne(vector<double>tab);
double *classement(vector<double>tab);
int main()
{
vector<double>tab(nb);
int i(0);
for(i=0;i<nb;i++)
{
cout << "Entrez la note n° " << i+1 << endl;
cin >> tab[i];
cin.ignore();
}
tab.push_back(1.5);
double *p = classement(tab);
cout << "Classement des notes croissantes :" << endl;
for(i=0;i<nb;i++){
cout << tab[i] << endl;}
cout << "La moyenne des notes est de : " << moyenne(tab) << endl;
return 0;
}
double moyenne(vector<double>tab)
{
double moy(0);
for(int i=0;i<tab.size();i++)
{
moy+=tab[i];
}
moy /= tab.size();
return moy;
}
double *classement(vector<double>tab)
{
double *p = tab;
int i,j;
double c;
for(i=0;i<nb-1;i++)
for(j=i+1;j<nb;j++)
if(tab[i]>tab[j]){
c=tab[i];
tab[i]=tab[j];
tab[j]=c;
}
return p;
} |