Salut, tu sais, depuis longtemps, certains membres ont des boules de cristal. Or, la mienne est tombé par le fenêtre et s'est brisée dans la poubelle en bas de chez moi ( ) . Du coups, tu vas devoir nous fournir le code qui te poses problème .
#include<vector>
#include<algorithm>
using namespace std;
void lire (vector<int>a,int n)//remplissage de tableau;
{
for(int i=0;i<n;i++)
{
cout <<"["<<i<<"]=";
cin>>a[i];
a.push_back(a[i]);
}
}
void trie (vector<int>a,int n)//trie detableau
{
for (int i=0;i<n-1;i++)/*chaque element du tableau on le compare avec ceux qui le suivent,l'indice i s'arrete a n-1 car j=i+1 on compare l'avant
dernier element avec le dernier */
{
for (int j=i+1;j<n;j++)
{
if (a[i]>a[j])//si t[i]>t[j]:element d'indice i est superieur a celui qui le suit on fait la permutation entre les deux elements
{
int c=a[i];//declaration de variable intermidiaire pour ne pas ecraser la valeur de t[i] lors de la permutation;
a[i]=a[j];
a[j]=c;
}
}
}
}
void affiche (vector<int>a,int n)//affichage de tableau
{
for (int i=0;i<n;i++)
cout <<"["<<i<<"]="<<a[i]<<endl;
}
int main()
{
vector<int> a(3);
lire (a,3);
cout<<"tableau avant trie :"<<endl;
affiche(a,a.size());
trie (a,3);//appel fonction trie ;
cout<<"tableau apres trie :"<<endl;
affiche(a,3);
return 0;
}
Heu... tu push_back dans lire() mais tu modifie une copie de ton vector. Quand tu le tries, tu modifie une copie de ton vector. Ton vector contient que des int à 0 et ne change pas, pour ta fonction affiche(), fais un passage de paramètre par référence sur constante(pour ne pas froisser Olybri qui nous reprends quand on dit référence constante ). Sinon, trier() et lire() devrais prendre ton vector par référence.
pour ta fonction lire, fais un passage de paramètre pas référence sur constante(pour ne pas froisser Olybri qui nous reprends quand on dit référence constante )
- Edité par Ilearn32 il y a environ 9 heures
Merci pour la précision, j'accorde beaucoup d'importance au vocabulaire et aux termes employés.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Installer la SDL 1.2 avec CodeBlocks sous Windows. Installer la SDL 2.0 avec CodeBlocks sous Windows.