关于setw的问题
编写了一个矩阵转置的程序,想让输入和转置后的数组在屏幕上显示成矩阵的形状,没用setw之前运行正常,用了setw却编译出错,怎么回事?程序如下,麻烦大家帮我看看:#include <iostream>
using namespace std;
#define M 3
#define N 4
void invert(int a[M][N])
{
int i,j,b[N][M],cnt;
cout<<"转置前:"<<endl;
for(i=0;i!=M;++i)
for(j=0;j!=N;++j)
{
cout<<setw(5)<<a[i][j];
b[j][i]=a[i][j];
cnt++;
if(cnt%N==0)
cout<<endl;
}
cnt=0;
cout<<"转置后:"<<endl;
for(i=0;i!=N;++i)
for(j=0;j!=M;++j)
{
cout<<setw(5)<<b[i][j];
cnt++;
if(cnt%M==0)
cout<<endl;
}
}
int main()
{
cout<<"请输入"<<M*N<<"个整数:"<<endl;
int i,j,array[M][N];
for(i=0;i!=M;++i)
for(j=0;j!=N;++j)
cin>>array[i][j];
invert(array);
return 0;
}
编译器提示:cpp(13) : error C2065: 'setw' : undeclared identifier
setw不是iostream库的函数吗?怎么会这样呢?请教大家!
[此贴子已经被作者于2007-10-31 11:19:07编辑过]