如何正确显示矢量? [复制]
Posted
技术标签:
【中文标题】如何正确显示矢量? [复制]【英文标题】:How can I display vector correct? [duplicate] 【发布时间】:2014-02-23 16:57:25 【问题描述】:在 C++ 中正确显示我的矢量时遇到了一点问题。
现在打印如下: Spiller navn: A 得分:1
Spiller 导航:A 得分:2
Spiller 导航:A 得分:3
Spiller 导航:B 得分:1
Spiller 导航:B 得分:2 ... ...等等。
但我希望它只打印一次“Spiller”,多次打印“Score”,所以它看起来像这样:
Spiller 导航:A 得分: 1 2 3
Spiller 导航:B 得分: 1 2 3
这是我的填充向量函数:
void fyldVector(vector<Beregning>& nySpiller)
string navn;
int score;
cout << "Indtast antal spillere: ";
int antal;
cin >> antal;
//nySpiller.reserve( nySpiller.size() + antal );
for (int i = 0; i < antal; i++)
cout << "Indtast spiller navn: ";
cin >> navn;
for (int j = 0; j < 3; j++)
cout << "Indtast score: ";
cin >> score;
Beregning nyBeregning(navn, score);
nySpiller.push_back(nyBeregning);
cout << endl;
还有我的打印向量函数:
void printVector(const vector<Beregning>& nySpiller)
unsigned int size = nySpiller.size();
cout << nySpiller.size() << endl;
for (unsigned int i = 0; i < size; i++ )
cout << "Spiller navn: " << nySpiller[i].getNavn() << endl;
cout << "Score: " << nySpiller[i].getScore() << endl;
cout << endl;
【问题讨论】:
我以前见过这个问题,据我记得答案是:'循环遍历向量,并逐个输出项目' ! 【参考方案1】:由于你没有说函数 getScore 是什么以及它的返回类型是什么,所以我使用你的示例中使用的函数。
void printVector( const vector<Beregning> &nySpiller )
string navn;
for ( const Beregning &b : nySpiller )
if ( navn != b.getNavn() )
navn = b.getNavn();
cout << "\nSpiller navn: " << navn << endl;
cout << "Score: " << endl;
cout << b.getScore() << endl;
如果您的编译器不支持基于范围的 for 循环,那么您可以编写
void printVector( const vector<Beregning> &nySpiller )
string navn;
for ( vector<Beregning>::size_type i = 0; i < nySpiller.size(); i++ )
if ( navn != nySpiller[i].getNavn() )
navn = nySpiller[i].getNavn();
cout << "\nSpiller navn: " << navn << endl;
cout << "Score: " << endl;
cout << nySpiller[i].getScore() << endl;
【讨论】:
AFAIR 在之前版本的问题nySpiller[i].getScore()
中返回了一个向量(参考)。
@πάντα ῥεῖ 我没有返回类型的定义。
看这里(可能已经被编辑过了):***.com/questions/21955416/…
@πάντα ῥεῖ 谢谢,但我不会去看那里。提供所有必需的信息是问题作者的任务。
@πάντα ῥεῖ 更重要的是我展示了该方法。其他都是细节。以上是关于如何正确显示矢量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何将字符串编码为 UTF8,然后在 html 中正确显示? [复制]
如何在 C++ 中打印矢量 <vector<int>>? [复制]