求3*3矩阵的最大值并输出 如:1 2 3 4 9 5 7 8 6 则最大值为:9
#include<conio.h>#include<stdio.h>intfun(inta[3][3]){/***********begin***********//**...
#include <conio.h>
#include <stdio.h>
int fun(int a[3][3])
{
/***********begin***********/
/************end************/
}
void main()
{ int a[3][3]={1,2,3,4,9,5,7,8,6};
int i,j,max;
// clrscr();
printf("array is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%5d",a[i][j]);
printf("\n");
}
max=fun(a);
printf("Result is: %d\n",max);
NONO( );
}
NONO( )
{ FILE *fr,*fw;
int i,j,k,m,a[3][3];
fr=fopen("D:\\exam\\01700305\\PROGIN.DAT","r");
fw=fopen("D:\\exam\\01700305\\PROGOUT.DAT","w");
for(i=1;i<=5;i++)
{ for(j=0;j<3;j++)
for(k=0;k<3;k++)
{ fscanf(fr,"%d",&a[j][k]);
fprintf(fw,"%4d",a[j][k]);}
fprintf(fw,"Max = %d\n",fun(a));}
fclose(fr);
fclose(fw);
} 展开
#include <stdio.h>
int fun(int a[3][3])
{
/***********begin***********/
/************end************/
}
void main()
{ int a[3][3]={1,2,3,4,9,5,7,8,6};
int i,j,max;
// clrscr();
printf("array is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%5d",a[i][j]);
printf("\n");
}
max=fun(a);
printf("Result is: %d\n",max);
NONO( );
}
NONO( )
{ FILE *fr,*fw;
int i,j,k,m,a[3][3];
fr=fopen("D:\\exam\\01700305\\PROGIN.DAT","r");
fw=fopen("D:\\exam\\01700305\\PROGOUT.DAT","w");
for(i=1;i<=5;i++)
{ for(j=0;j<3;j++)
for(k=0;k<3;k++)
{ fscanf(fr,"%d",&a[j][k]);
fprintf(fw,"%4d",a[j][k]);}
fprintf(fw,"Max = %d\n",fun(a));}
fclose(fr);
fclose(fw);
} 展开
3个回答
2011-05-04
展开全部
一、把矩阵A视为列向量,写成列向量组成的矩阵:
2,1,4,3,
-1,1,-6,6,
-1,-2,2,-9,
1,1,-2,7,
2,4,4,9,
二、交换第1行和第4行,不改变矩阵的秩:
1,1,-2,7,
-1,1,-6,6,
-1,-2,2,-9,
2,1,4,3,
2,4,4,9,
三、使用初等行变换,将矩阵进行运算:
把第一行加到第二行;把第一行加到第三行;把第一行乘以-2再加到第四行;把第一行乘以-2,再加到第五行,从而使得第一列的后几个元素为0:
1,1,-2,7,
0,2,-8,13,
0,-1,0,-6,
0,-1,8,-11,
0,2,8,-5,
四、继续进行行变换,把第二行乘以0.5再加到第三行,也加到第四行;把第二行乘以-1再加到第五行:
1,1,-2,7,
0,2,-8,13,
0,0,-4,0.5,
0,0,4,-4.5,
0,0,16,-18,
五、把第三行加到第四行上,把4倍第三行加到第五行上:
1,1,-2,7,
0,2,-8,13,
0,0,-4,0.5,
0,0,0,-4,
0,0,0,-16,
六、把-4倍第四行加到第五行:
1,1,-2,7,
0,2,-8,13,
0,0,-4,0.5,
0,0,0,-4,
0,0,0,0,
七、先1/2倍第二行,再去减第一行:
1,0,2,0.5,
0,1,-4,6.5,
0,0,-4,0.5,
0,0,0,-4,
0,0,0,0,
八、用第三行去减第二行:
1,0,2,0.5,
0,1,0,6,
0,0,-4,0.5,
0,0,0,-4,
0,0,0,0,
九、-1/4倍第三行,-1/4倍第四行:
1,0,2,0.5,
0,1,0,6,
0,0,1,-0.125,
0,0,0,1,
0,0,0,0,
十、2倍第三行去减第一行:
1,0,0,0.75,
0,1,0,6,
0,0,1,-0.125,
0,0,0,1,
0,0,0,0.
十一、矩阵经初等变换转化为阶梯矩阵后 非零行个数即为矩阵的秩,故秩为4;因为 4=秩<5=阶,故矩阵A各列向量是线性相关的。
经初等变换转化为简化梯形矩阵(阶梯矩阵),其主元素1所对应的列即为极大线性无关组:
1,0,0,
0,1,0,
0,0,1.
------------------------------
今天是虎年大年初二!
给你 和来这里碰到的人们 拜大年!
另外,虚机团上产品团购,超级便宜
2,1,4,3,
-1,1,-6,6,
-1,-2,2,-9,
1,1,-2,7,
2,4,4,9,
二、交换第1行和第4行,不改变矩阵的秩:
1,1,-2,7,
-1,1,-6,6,
-1,-2,2,-9,
2,1,4,3,
2,4,4,9,
三、使用初等行变换,将矩阵进行运算:
把第一行加到第二行;把第一行加到第三行;把第一行乘以-2再加到第四行;把第一行乘以-2,再加到第五行,从而使得第一列的后几个元素为0:
1,1,-2,7,
0,2,-8,13,
0,-1,0,-6,
0,-1,8,-11,
0,2,8,-5,
四、继续进行行变换,把第二行乘以0.5再加到第三行,也加到第四行;把第二行乘以-1再加到第五行:
1,1,-2,7,
0,2,-8,13,
0,0,-4,0.5,
0,0,4,-4.5,
0,0,16,-18,
五、把第三行加到第四行上,把4倍第三行加到第五行上:
1,1,-2,7,
0,2,-8,13,
0,0,-4,0.5,
0,0,0,-4,
0,0,0,-16,
六、把-4倍第四行加到第五行:
1,1,-2,7,
0,2,-8,13,
0,0,-4,0.5,
0,0,0,-4,
0,0,0,0,
七、先1/2倍第二行,再去减第一行:
1,0,2,0.5,
0,1,-4,6.5,
0,0,-4,0.5,
0,0,0,-4,
0,0,0,0,
八、用第三行去减第二行:
1,0,2,0.5,
0,1,0,6,
0,0,-4,0.5,
0,0,0,-4,
0,0,0,0,
九、-1/4倍第三行,-1/4倍第四行:
1,0,2,0.5,
0,1,0,6,
0,0,1,-0.125,
0,0,0,1,
0,0,0,0,
十、2倍第三行去减第一行:
1,0,0,0.75,
0,1,0,6,
0,0,1,-0.125,
0,0,0,1,
0,0,0,0.
十一、矩阵经初等变换转化为阶梯矩阵后 非零行个数即为矩阵的秩,故秩为4;因为 4=秩<5=阶,故矩阵A各列向量是线性相关的。
经初等变换转化为简化梯形矩阵(阶梯矩阵),其主元素1所对应的列即为极大线性无关组:
1,0,0,
0,1,0,
0,0,1.
------------------------------
今天是虎年大年初二!
给你 和来这里碰到的人们 拜大年!
另外,虚机团上产品团购,超级便宜
展开全部
#include <stdio.h>
int fun(int a[3][3])
{
/***********begin***********/
int i,j,max;max=a[0][0];
for (i=0;i<=2;i++)
for(j=0;j<=2;j++)
if (max<a[i][j]) max=a[i][j];
return(max);
/************end************/
}
void main()
{ int a[3][3]={1,2,3,4,9,5,7,8,6};
int i,j,max;
printf("array is:\n");
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
printf("%5d",a[i][j]);
printf("\n");
}
max=fun(a);
printf("Result is: %d\n",max);
NONO( );
int fun(int a[3][3])
{
/***********begin***********/
int i,j,max;max=a[0][0];
for (i=0;i<=2;i++)
for(j=0;j<=2;j++)
if (max<a[i][j]) max=a[i][j];
return(max);
/************end************/
}
void main()
{ int a[3][3]={1,2,3,4,9,5,7,8,6};
int i,j,max;
printf("array is:\n");
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
printf("%5d",a[i][j]);
printf("\n");
}
max=fun(a);
printf("Result is: %d\n",max);
NONO( );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int fun(int a[3][3])
{
/***********begin***********/
int i,j,maxin=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(maxin<a[i][j])maxin=a[i][j];
return maxin;
/************end************/
}
{
/***********begin***********/
int i,j,maxin=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(maxin<a[i][j])maxin=a[i][j];
return maxin;
/************end************/
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询