根据用户的输入提供不同大小的矢量
Different sized vectors according to user's input
int main() {
int k=0;
string s;
cout<<"string ";
getline(cin,s);
float n=s.size();
vector< vector<string> > vec(n>8?floor((sqrt(n))):3, vector<string>(n>8?ceil((sqrt(n))):3));
for(int i=0;n>8?i<floor((sqrt(n))):i<3;i++)
{
for(int j=0;n>8?j<ceil((sqrt(n))):j<3;j++)
{
if(k<s.size())
{
vec[i][j]=s[k];
k++;
}
}
}
for(int j=0;n>8?j<ceil((sqrt(n))):j<3;j++)
{
{
for(int i=0;n>8?i<floor((sqrt(n))):i<3;i++)
cout<<vec[i][j];
}cout<<" ";
}
我正在开发一个加密程序,我想制作一个向量(第一次使用它(,其大小应受用户输入的影响。我该如何实现它?
我不确定你到底想做什么,但你可以使用rand()
函数来随机化向量的大小。我编写了示例代码,但您应该根据自己的目的对其进行调整。
int maxSize1 = 10;
int maxSize2 = 15;
std::vector<string> s;
s.push_back("A");
s.push_back("B");
s.push_back("C");
s.push_back("D");
srand(time(NULL));
int size1 = rand() % maxSize1 + 1;
int size2 = rand() % maxSize2 + 1;
std::vector< std::vector<string> > vec(size1, std::vector<string>(size2));
cout << "vector sizes " << size1 << " " << size2 << endl;
for(int i=0,k = 0;i<size1;i++)
{
for(int j=0;j<size2;j++)
{
if(k < s.size())
{
vec[i][j]=s[k];
k++;
}
cout << "" << vec[i][j] << ",";
}
cout << "n";
}
相关文章:
- C++如何通过用户输入删除列表元素
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 如何只允许用户输入正整数
- C++如何计算用户输入的数字中的偶数位数
- 通过for循环使用用户输入填充列表
- 在C++中,我如何接受不同于同一行的用户输入
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 显示基于用户输入的整数的字符
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 打印时有二叉树问题.用户输入不打印任何内容
- C ++奇怪的数组由用户输入
- 如何允许大写和小写用户输入?
- C++读取用户输入而不按回车键(Mac OS X),与Turbo Pascal中的读取键相同
- 如何存储用户输入的所有数据,然后在他们想要查看所有数据时显示它们
- 如何使用用户输入变量制作二维数组?
- 用户输入字符串的文件附加问题..C++
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 如何使用递归循环我的代码(当用户输入无效输入时,它会再次提示他们)?