当前位置: 代码迷 >> C语言 >> 初学者请教矩阵编程问题
  详细解决方案

初学者请教矩阵编程问题

热度:175   发布时间:2006-08-06 10:57:11.0
初学者请教矩阵编程问题
有一道题是这样的:单位矩阵(identity matrix)就是一个正方形矩阵,它除了主对角线的元素值为1以外,其余的元素值均为0,例如:1 0 0
0 1 0
0 0 1
就是一个3×3单位矩阵,编写一个名叫identity_matrix函数,它能接受任意大小的矩阵参数,函数的第一个参数为整形指针,第二个参数指定矩阵的大小,结果提示是否为单位矩阵。
望哪位高手能帮忙编一下

[此贴子已经被作者于2006-8-6 10:57:51编辑过]

搜索更多相关的解决方案: 矩阵  

----------------解决方案--------------------------------------------------------
#include<stdio.h>
#define N 100
int identity_matrix(int (*a)[N],int n)/*1表示是单位阵*/
{
int i=0,j=0,flag=1;
while(i<n&&flag!=0)
{
while(j<n&&flag!=0)
{
if(i!=j&&*(*(a+i)+j)!=0)
{
flag=0;
break;
}
if(i==j&&*(*(a+i)+j)!=1)
{
flag=0;
break;
}
j++;
}
i++;
}
return(flag);
}

int main()
{
int data[3][3]={{1,0,0},{0,1,0},{0,0,1}};
printf("%d",identity_matrix(data,3));
return(0);
}
----------------解决方案--------------------------------------------------------

谢谢楼上所编的程序!但是我试了一下,好像这个程序不能通过编译,另外能不能在编的程序main函数中即时设定n的大小,就是说每个运行程序的人可以自己输入想要观察的矩阵大小。


----------------解决方案--------------------------------------------------------
反对直接给出程序,提倡提问题的人要自己先有想法再问,或者给出自己的错误代码再问,给个问题就要代码的人,我锁。
----------------解决方案--------------------------------------------------------
  相关解决方案