我的代码有问题,我可以填写表格但是当我显示它时,它会显示0
给我,这是我的代码
#include<iostream>
#include<vector>
using namespace std;
int n;
void lire_tab(vector<int> A);
void tri_tab(vector<int> A);
void aff_tab(vector<int> A);
int main()
{
cout<<"donnez la taille du tableau: ";
cin>>n;
vector<int> A(n);
lire_tab(A);
aff_tab (A);
tri_tab (A);
aff_tab (A);
return 0;
}
void lire_tab(vector<int> A)
{
for(int i=0;i<n;i++)
{
cout<<"A["<<i<<"]= ";
cin>>A[i];
}
cout<<"________________________"<<endl;
}
void tri_tab(vector<int> A)
{
int temp;
temp=0;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++){
if(A[i]<A[j])
{
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
}
}
你能帮助我吗,我真的迷失了,我真的没弄明白为什么打印0
答案 0 :(得分:2)
答案 1 :(得分:1)
而不是按值接受vector
void lire_tab(vector<int> A)
您想接受vector
by reference
void lire_tab(vector<int>& A)
否则,您只修改矢量的函数本地副本,而不是传入的原始矢量。