怎么用while输入不定长度的二维数组?

如题所述

数组长度是固定的,你可以用vector容器试试 ,它是不定长度的,通过成员函数.size()返回其中保存数据的数量,如果非要用数组,那么先用容器保存,在用.size()作为个数创建数组,在逐个拷贝到数组里面
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-26
c++的代码
const int r=3,c=2;//r代表2维数组的行数,c代表2维数组的列数
int arr[r][c]={0},n=0;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cin>>n;//输入n
if(n!=-1)//如果n不等于-1
arr[i][j]=n;//就把n付给数组元素
else//否则,退出循环
break;
}
if(n==-1)
break;
}
c也是这个思路。
第2个回答  2020-03-26
#include <iostream>
int main (int argc, char **argv)
{
int col=3,row=3;
std::cout<<"请输入数组的行数:";
std::cin>>row;
std::cout<<"请输入数组的列数:";
std::cin>>col;
int* parry = new int[row*col];
int i=0;
while (i<row) {
int j=0;
while (j<col) {
std::cout<<"请输入数组"<<i<<行<<j<<列的元数:";
std::cin>>parry[row][col];
++j;
}
++i;
}
}
第3个回答  2020-03-26
#include<stdio.h>
int main()
{
int n,m,i=1,j,a[111][111];
scanf("%d%d",&n,&m);
while(i<=n)//自定义行数
{
j=1;
while(j<=m)//自定义列数
{
scanf("%d",&a[i][j]);
j++;
}
i++;
}

return 0;
}本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网