有一段矩阵相加的代码,敲到电脑里有一堆错误。自己改后还有八个错误。求达人帮助解决。

gxb1986 2006-11-18 03:09:32
就是下面这个了。
是我在一本书上看到的。
改后还剩八个错误了。
希望有达人帮忙分析解决下。
拜谢。。。。。。。。。。。

#include <stdio.h>
#include <conio.h>
int i,j;
int main()
{
int a[10][10],b[10][10],c[10][10];
int m,n;
void clrscr();

printf("enter order of the matrices \n");
scanf("%d %d",&m,&n);
printf("enter the first matrix elements\n");
matread(a,m,n);
printf("first matrix elements are \n");
matprint(a,m,n);
printf("enter the second matrix elements\n");
matread(b,m,n);
printf("second matrix elements are \n");
matprint(b,m,n);
printf("resultant matrix elements are \n");
matadd(a,b,c,m,n);
matprint(c,m,n);
getch();

return 0;

}

// Function to read a matrix of order mXn
matread(x,m,n)
int x[10][10];
int m,n;
{
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&x[i][j]);
}

// Function to find the addition of two matrices
matadd(x,y,z,r,c)
int x[10][10];y[10][10];z[10][10];
int r,c;
{
for(i=0;i<r;i++)
for(j=0;j<c;j++)
z[i][j]=x[i][j]+y[i][j];
}

// Function to print a matrix
matprint(x,m,n)
int x[10][10];
int m,n;
{
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("\t%d",x[i][j]);
print("\n");
}
}

...全文
156 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxb1986 2006-11-18
  • 打赏
  • 举报
回复
我用的是VC6.0
程序可以用了
真的谢谢
楼上各位了
hailongchang 2006-11-18
  • 打赏
  • 举报
回复
咱们这么写,lz如果用tc,还是白搭.
飞哥 2006-11-18
  • 打赏
  • 举报
回复
突然发现一个问题
void clrscr();,你这句是什么意思
============清屏 ??/

这样感觉就是定义阿

调用函数应该直接
clrsrc();// #include <conio.h>
hailongchang 2006-11-18
  • 打赏
  • 举报
回复
雁南飞,你速度真快呀!

又落后了!
hailongchang 2006-11-18
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <conio.h>
int i,j;

// Function to read a matrix of order mXn
void matread(int x[10][10], int m,int n)

{
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&x[i][j]);
}

// Function to find the addition of two matrices
void matadd(int x[10][10],int y[10][10],int z[10][10],int r,int c)
{
//int x[10][10],y[10][10],z[10][10];
//int r,c;

for(i=0;i<r;i++)
for(j=0;j<c;j++)
z[i][j]=x[i][j]+y[i][j];
}

// Function to print a matrix
void matprint(int x[10][10],int m,int n)

{
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("\t%d",x[i][j]);
printf("\n");
}
}
int main()
{
int a[10][10],b[10][10],c[10][10];
int m,n;
void clrscr();

printf("enter order of the matrices \n");
scanf("%d %d",&m,&n);
printf("enter the first matrix elements\n");
matread(a,m,n);
printf("first matrix elements are \n");
matprint(a,m,n);
printf("enter the second matrix elements\n");
matread(b,m,n);
printf("second matrix elements are \n");
matprint(b,m,n);
printf("resultant matrix elements are \n");
matadd(a,b,c,m,n);
matprint(c,m,n);
getch();

return 0;

}

飞哥 2006-11-18
  • 打赏
  • 举报
回复
稍微改了下,给出了c++风格的解决方案

我将main拿到了最后,其实完全可以把你用到的函数原形在main之前声明一下
我就是图了省事
飞哥 2006-11-18
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <conio.h>
int i,j;


// Function to read a matrix of order mXn
void matread(int x[10][10],int m,int n)
{
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&x[i][j]);
}

// Function to find the addition of two matrices
void matadd(int x[10][10],int y[10][10],int z[10][10],int r, int c)
{
for(i=0;i<r;i++)
for(j=0;j<c;j++)
z[i][j]=x[i][j]+y[i][j];
}

// Function to print a matrix
void matprint(int x[10][10],int m,int n)
{
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("\t%d",x[i][j]);
printf("\n");
}
}

int main()
{
int a[10][10],b[10][10],c[10][10];
int m,n;
void clrscr();

printf("enter order of the matrices \n");
scanf("%d %d",&m,&n);
printf("enter the first matrix elements\n");
matread(a,m,n);
printf("first matrix elements are \n");
matprint(a,m,n);
printf("enter the second matrix elements\n");
matread(b,m,n);
printf("second matrix elements are \n");
matprint(b,m,n);
printf("resultant matrix elements are \n");
matadd(a,b,c,m,n);
matprint(c,m,n);
getch();

return 0;

}
hailongchang 2006-11-18
  • 打赏
  • 举报
回复
matprint(x,m,n)
int x[10][10];
int m,n;

-------------------------

这本身书的函数声明居然这样写,你去用TC2.0编译吧

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧