【发布时间】:2017-07-22 17:53:25
【问题描述】:
我想将一维数组的值放入二维数组。然后我想打印出二维数组的值。
我有以下代码:
#include <string.h>
#include <fstream>
#include <iostream>
#include <conio.h> //for _kbhit
using namespace std;
#define MAX_N 100
#include<stdio.h>
int c[MAX_N] = {35, 23 , 56 , 30, 110 , 123 , 13 , 31 };
int b[4][4];
int main()
{
int i,j,k,l;
for(i=0;i<8;i++)
{ cout << c[i];}
cout << endl;
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
{
b[i][j] = c[i];
}
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout << b[i][j] << " ";
}
cout << "\n";
cout << "\n";
}
cout << "\n\nHit<enter> to finish";
while ( !_kbhit());
return (0);
}
输出应该是:
35 23 56 30
110 123 13 31
有什么想法吗?
谢谢!
【问题讨论】:
-
我会先做一些数学。您的输出循环总共有 16 次写入。如果您期望只有 8 个 项,那么您的数学显然是错误的。
-
从
b[i][j] = c[i];很明显,对于任何x,所有b[i][x]都将具有相同的值。