数据结构C语言编程:对称矩阵运算:实现8阶对称矩阵的输入、输出、转置、加减乘的运算。跪求啊!!好急

数据结构C语言编程:对称矩阵运算:实现8阶对称矩阵的输入、输出、转置、加减乘的运算。跪求啊!!好急求代码

#include <stdio.h>
void input(int matrix[8][8])
{
 int i=0,j=0;
 printf("please input the entries:\n"); 
 //按下三角输入。
 for(i=0;i<8;i++)
 {
  for(j=0;j<=i;j++)
  {
   scanf("%d",&matrix[i][j]);
   matrix[j][i]=matrix[i][j];
  }
 }
}
void output(int matrix[8][8])
{
 int i=0,j=0;
 printf("\n");
 for(i=0;i<8;i++)
 {
  for(j=0;j<8;j++)
  {
   printf("%4d ",matrix[i][j]);
  }
  printf("\n");
 }
}
//转置:ps:对称矩阵,转置还是自己,好像没有什么意义。
void transposition(int matrix1[8][8],int matrix2[8][8])
{
 int i=0,j=0;
 for(i=0;i<8;i++)
 {
  for(j=0;j<8;j++)
  {
   matrix2[i][j] = matrix1[j][i];
  }
 }
}
//加法
void addition(int matrix1[8][8],int matrix2[8][8],int matrix3[8][8])
{
 int i=0,j=0;
 for(i=0;i<8;i++)
 {
  for(j=0;j<8;j++)
  {
   matrix3[i][j] = matrix1[i][j]+matrix2[i][j];
  }
 }
}
//减法
void subtraction(int matrix1[8][8],int matrix2[8][8],int matrix3[8][8])
{
 int i=0,j=0;
 for(i=0;i<8;i++)
 {
  for(j=0;j<8;j++)
  {
   matrix3[i][j] = matrix1[i][j]-matrix2[i][j];
  }
 }
}
//乘法
void multiplication(int matrix1[8][8],int matrix2[8][8],int matrix3[8][8])
{
 int i=0,j=0,k=0;
 for(i=0;i<8;i++)
 {
  for(j=0;j<8;j++)
  {
   matrix3[i][j]=0;  //初始化。
   for(k=0;k<8;k++)
   {
    matrix3[i][j] += matrix1[i][k]*matrix2[k][j];
   }
  }
 }
}
int main()
{
 static int matrix[8][8];
 int matrix2[8][8];
 int matrix3[8][8];
 input(matrix);
 output(matrix);
 transposition(matrix,matrix2);
 output(matrix2);
 addition(matrix,matrix2,matrix3);//结果放在第三个矩阵中
 output(matrix3);
 multiplication(matrix,matrix2,matrix3);//结果放在第三个矩阵中
 output(matrix3);
 subtraction(matrix3,matrix,matrix2);//结果放在第二个矩阵中
 output(matrix2);
 return 0;
}
/*

1 2
3 4 5
5 4 2 1
2 3 1 4 6
9 8 7 6 5 3
3 2 1 4 5 6 7
7 5 4 3 2 4 5 6
*/

追问

谢谢啦

追答

不客气,很简单,但是看一楼回答问题方式,就帮你做了一下。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-23
我可以帮你写,但是你给的分数太少了,呜呜。。。。追问

点我头像还有两个一样的问题一个30一个50都给你好吗,,再追加30,真心急,,周五交呀

那两个问题是80分,再追加50,,可以帮我写嘛

追答

对不起,我现在才看到你的恢复,呜呜。。。。

追问

还不晚,,老师说下周一交。。

相似回答