stm8s的adc检测:VC编程初级问题

来源:百度文库 编辑:中科新闻网 时间:2024/03/29 19:18:00
在VC下编辑矩阵运算的程序。
程序功能是实现一个动态矩阵m行n列的输入。
使用for语句循环输入每个元素,经过编译F7后显示0错误0警告。
但是运行的时候系统提示:下标越界,矩阵尺寸异常
请高手直教。小弟跪谢~
程序代码如下:(使用了新的matrix.h清华大学制作,已经出版,无逻辑问题)
#include <iostream.h>
#include "matrix.h" //重新定义的矩阵头文件
void main()
{
int m,n,i,j;
matrix A(m,n); //定义动态矩阵A

cout<<"输入矩阵行数:";
cin>>m;
cout<<endl;
cout<<"输入矩阵列数:";
cin>>n;
cout<<"输入矩阵元素A(i,j):"<<endl;
//完成矩阵的输入
for(i=1;i<m+1;i++)
for(j=1;j<n+1;j++)
{
cout<<"A("<<i<<","<<j<<"):";
cin>>A(i,j);
}
//显示输出矩阵
cout<<" 您所输入的矩阵为:";
A.Print(); //该命令包含在头文件中,用来输出矩阵

}
谢谢各位帮忙,问题已经解决了.
因为在没有定义m,n的情况下就定义动态矩阵,所以会出现下标问题.解决方法是讲矩阵定义martrix A(m,n);放到cin语句后面,这样就先定义m和n,然后矩阵就定义好了.
但后来有新的问题.希望各位帮忙.我一会会发在baidu知道上.

重新定义的矩阵头文件
发过来

矩阵是怎么定义的?
下标是从1开始的吗?
是不是从零开始的
而你赋值时写成了从1开始的?
for(i=1;i<m+1;i++)
for(j=1;j<n+1;j++)
如果是的话应该这样写
for(i=0;i<m;i++)
for(j=0;j<n;j++)