如何使用 void() 函数在 C++ 中打印向量?
How to use a void() function to print a vector in c++?
我有一个函数可以计算 1 - 100 之间的数字的平方。我想使用另一个函数来打印结果。我想知道如何使这样的函数不仅适用于向量而且适用于任何类型。
这是我目前的情况:
#include <iostream>
#include <iomanip>
#include <cmath>
#include <vector>
using namespace std;
vector<double> Sqrs(int val, double sqr, vector<double> result){
for(val = 1;val < 100;val++){
sqr = sqrt(val);
result.push_back(sqr);
}
return result;
}
void Print(int val, vector<double> result){
for(unsigned int i = 0;i < result.size();i++){
cout << val << setw(10);
cout << &result << endl;
}
}
int main()
{
Print();
return 0;
}
问题是它说我对 Print();
的争论太少了。我不知道要输入什么参数,因为当我输入 val
、result
或 int val, vector<double>result
时,会出现很多错误。我只是不知道如何制作一个单独的函数来打印我在 main
.
以外的另一个函数中使用过的东西
编辑:看来我问的问题很愚蠢。例如,我想知道我有一个函数可以计算 2 个名为 int val (int a, int b)
的数字,而该函数 returns 的值 "c"。所以现在我想创建另一个名为 Print
的函数,并使用另一个函数 val
的返回值,这样我就可以打印它了。然后在主函数中我会调用 Print()
函数。
您的程序的最高级别的英文简短翻译是:
- 这是我要使用的库。
- 这就是我的意思,如果我让你用
int
、double
和 vector<double>
做 Sqrs
- 这就是我的意思,如果我让你用
int
和 vector<double>
做 Print
最后,您实际告诉程序要做的事情是
Print
一无所有
- 输出
0
如您所见,这段代码看起来与您描述的任何内容都不相似。在担心尝试编写非常通用的代码之前,您应该先尝试正确处理特殊情况。
#include <iostream>
#include <cmath>
#include <iomanip>
#include <vector>
using namespace std;
vector<double> myFunc(int x, vector<double> &vec){
double rez = 0.0;
for(int i = 0;i < 100;i++){
rez = sqrt(x);
vec.push_back(rez);
x++;
}
return vec;
}
void Print(vector<double> &vec){
for(int i = 0;i != vec.size();i++){
cout << vec[i] << endl;
}
}
int main()
{
vector<double> vec1;
myFunc(1, vec1);
Print(vec1);
return 0;
}
这就是我想做的。
我有一个函数可以计算 1 - 100 之间的数字的平方。我想使用另一个函数来打印结果。我想知道如何使这样的函数不仅适用于向量而且适用于任何类型。
这是我目前的情况:
#include <iostream>
#include <iomanip>
#include <cmath>
#include <vector>
using namespace std;
vector<double> Sqrs(int val, double sqr, vector<double> result){
for(val = 1;val < 100;val++){
sqr = sqrt(val);
result.push_back(sqr);
}
return result;
}
void Print(int val, vector<double> result){
for(unsigned int i = 0;i < result.size();i++){
cout << val << setw(10);
cout << &result << endl;
}
}
int main()
{
Print();
return 0;
}
问题是它说我对 Print();
的争论太少了。我不知道要输入什么参数,因为当我输入 val
、result
或 int val, vector<double>result
时,会出现很多错误。我只是不知道如何制作一个单独的函数来打印我在 main
.
编辑:看来我问的问题很愚蠢。例如,我想知道我有一个函数可以计算 2 个名为 int val (int a, int b)
的数字,而该函数 returns 的值 "c"。所以现在我想创建另一个名为 Print
的函数,并使用另一个函数 val
的返回值,这样我就可以打印它了。然后在主函数中我会调用 Print()
函数。
您的程序的最高级别的英文简短翻译是:
- 这是我要使用的库。
- 这就是我的意思,如果我让你用
int
、double
和vector<double>
做 - 这就是我的意思,如果我让你用
int
和vector<double>
做
Sqrs
Print
最后,您实际告诉程序要做的事情是
Print
一无所有- 输出
0
如您所见,这段代码看起来与您描述的任何内容都不相似。在担心尝试编写非常通用的代码之前,您应该先尝试正确处理特殊情况。
#include <iostream>
#include <cmath>
#include <iomanip>
#include <vector>
using namespace std;
vector<double> myFunc(int x, vector<double> &vec){
double rez = 0.0;
for(int i = 0;i < 100;i++){
rez = sqrt(x);
vec.push_back(rez);
x++;
}
return vec;
}
void Print(vector<double> &vec){
for(int i = 0;i != vec.size();i++){
cout << vec[i] << endl;
}
}
int main()
{
vector<double> vec1;
myFunc(1, vec1);
Print(vec1);
return 0;
}
这就是我想做的。