gpt4 book ai didi

c++ - 计算字符串中相同的数字并将它们打印为星星 C++

转载 作者:行者123 更新时间:2023-11-30 03:36:32 25 4
gpt4 key购买 nike

我正在编写一个包含字符串的程序,然后我通读该字符串并使用 vector 将所有数字放入数组中,然后使用 count 我必须计算该数组中的相同数字,然后打印数字作为明星。

我得到的错误是二进制表达式的无效操作数。

这是代码。

#include <iostream>
#include <vector>
#include <algorithm>
#include<array>
using namespace std;

int main() {

vector<string> array;
string grades = "01211342111153332211111232454444";
int newarray[31];
for(int i = 0 ; i < grades.length(); i++){
array.push_back(grades.substr(i,1));

}

int zero = count(std::begin(array),std::end(array),0);
int one = count(std::begin(array),std::end(array),1);
int two = count(std::begin(array),std::end(array),2);
int three = count(std::begin(array),std::end(array),3);
int four = count(std::begin(array),std::end(array),4);
int five = count(std::begin(array),std::end(array),5);
// also used this way int zero = count(array.begin(),array.end(),0); but still getting error.

for(int i = 0 ; i < one ; i ++){
cout << '1 - ' << '*' << ' ';
}
for(int j = 0 ; j < two ; j++){
cout << '2 - ' << '*' << ' ';
}


}

学习 C++,希望人们对我宽容一些。

最佳答案

这里有很多问题。

首先,您要将数字与 int zero = count(std::begin(array),std::end(array),0); 中的字符串进行比较.您想将字符串与字符串进行比较。

其次,您正在尝试 cout '1 - ' . '是字符,所以你应该使用 "相反。

最后,在 cout ,你只需要在星星和空间上循环,而不是 "1 - " .并使用 cout<<"\n"; 刷新整个内容以在您的控制台上打印或 cout<<std::endl; .

您可以尝试以下方法:

int main()
{
vector<string> array;
string grades = "01211342111153332211111232454444";
int newarray[31];
for(int i = 0 ; i < grades.length(); i++){
array.push_back(grades.substr(i,1));

}

int zero = count(std::begin(array),std::end(array),"0");
int one = count(std::begin(array),std::end(array),"1");
int two = count(std::begin(array),std::end(array),"2");
int three = count(std::begin(array),std::end(array),"3");
int four = count(std::begin(array),std::end(array),"4");
int five = count(std::begin(array),std::end(array),"5");


cout << "1 - ";
for(int i = 0 ; i < one ; i ++){
cout << '*' << ' ';
}
cout << "\n";

cout << "2 - ";
for(int i = 0 ; i < two ; i ++){
cout << '*' << ' ';
}
cout << "\n";

/*....*/
}

关于c++ - 计算字符串中相同的数字并将它们打印为星星 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com