假设我有阵列MatrixA,它是2x3并填充为0.如何设置循环以便将值读入其中但如果用户只输入3个值,则MatrixA中剩余的3个为0?
编辑:
const int Q = 2;
const int S = 3;
int matrixA[Q][S] = {0};
for(int i = 0; i < Q; i++){
for(int j = 0; j < S; j++){
cin >> matA[i][j];
}
}
答案 0 :(得分:1)
使用0初始化MatrixA数组,然后接受来自用户的值。代码如下所示:
int iOuter = 0;
int iInner = 0;
for (iOuter = 0; i <2; iOuter++)
for (iInner = 0; i < 3; iInner++)
{
MatrixA[iOuter][iInner] = 0;
cin >> MatrixA[iOuter][iInner];
}
答案 1 :(得分:0)
我宁愿你有代码让我为我的答案而努力,但假设你的问题和陈述,我会说这个。有一个循环,其中计算用户输入数字的次数。当用户输入三个数字时;初始化一个行变量,取值为2.然后根据用户使用for循环或您选择的任何其他方法估算数字的次数来循环它。
另外,为了回答你关于其余3个数字的问题,我提供了一个关于数组未初始化索引的链接
答案 2 :(得分:0)
const int Q = 2;
const int S = 3;
int flag = 0;
int matrixA[Q][S] = {0};
for(int i = 0; i < Q; i++){
for(int j = 0; j < S; j++){
matA[i][j] = 0;
}
}
for(int i = 0; i < Q; i++){
for(int j = 0; j < S; j++){
if(getline(cin, matA[i][j])){
}
else{
flag = 1;
break;
}
}
if(flag == 1){
break;
}
}
如果有帮助,请告诉我.. :)