注册 登录
编程论坛 C++教室

越界怎么也可以???

staythink 发布于 2010-10-21 23:41, 741 次点击
程序代码:
#include <iostream>
using namespace std;
int A[3][3];
int B[3][3];
int C[10][10];
int ar=0,ac=0,br=0,bc=0,cr=0,cc=0;
int i=0,j=0,k=0;
int main()
{
   cout<<"输入第一个矩阵"<<endl;
   cout<<"How many rows :";
   cin>>ar;
   cout<<"How many cols :";
   cin>>ac;
   for(i=0;i<ac;i++)
   {
      for(j=0;j<ar;j++)
      {
         cout<<"输入"<<i+1<<""<<j+1<<""<<"元素";
         cin>>A[i][j];
      }
   }
       cout<<"输入第二个矩阵"<<endl;
  cout<<"How many rows :";
   cin>>br;
   cout<<"How many cols :";
   cin>>bc;
   for(i=0;i<bc;i++)
   {
      for(j=0;j<br;j++)
      {
         cout<<"输入"<<i+1<<""<<j+1<<""<<"元素";
        cin>>B[i][j];
      }
   }
   if(ac!=br)
       cout<<"矩阵不符合";
   else
   {
      cr = ar;cc = bc;
      for( i = 0; i < ar; i++)
         for( j = 0; j < bc; j++)
            for( k = 0; k < ac; k++)
               C[i][j]+=A[i][k]*B[k][j];
   }
   for(i=0;i<cr;i++)
   {
      for(j=0;j<cc;j++)
        cout<<C[i][j]<<endl;
   }
  system("Pause");
   return 0;
}
8 回复
#2
vfdff2010-10-21 23:51
怎么识别越界?
#3
staythink2010-10-22 09:05
回复 2楼 vfdff
比如说我输入的行数和列数超过10比如15,都不报错的…
#4
m21wo2010-10-22 15:35
不报错但会运行出错啊!
#5
staythink2010-10-22 17:37
下面是我的测试结果:看不出来有什么错误。。。
输入第一个矩阵
How many rows :5
How many cols :5
输入1行1列元素5
输入1行2列元素3
输入1行3列元素3
输入1行4列元素3
输入1行5列元素3
输入2行1列元素3
输入2行2列元素3
输入2行3列元素3
输入2行4列元素3
输入2行5列元素3
输入3行1列元素3
输入3行2列元素3
输入3行3列元素3
输入3行4列元素3
输入3行5列元素3
输入4行1列元素3
输入4行2列元素3
输入4行3列元素3
输入4行4列元素3
输入4行5列元素3
输入5行1列元素3
输入5行2列元素3
输入5行3列元素3
输入5行4列元素3
输入5行5列元素3
输入第二个矩阵
How many rows :5
How many cols :5
输入1行1列元素3
输入1行2列元素3
输入1行3列元素3
输入1行4列元素3
输入1行5列元素3
输入2行1列元素3
输入2行2列元素3
输入2行3列元素3
输入2行4列元素3
输入2行5列元素3
输入3行1列元素3
输入3行2列元素3
输入3行3列元素3
输入3行4列元素3
输入3行5列元素3
输入4行1列元素3
输入4行2列元素3
输入4行3列元素3
输入4行4列元素3
输入4行5列元素3
输入5行1列元素3
输入5行2列元素3
输入5行3列元素3
输入5行4列元素3
输入5行5列元素3
153
153
153
1953
1953
6345
6345
495
6345
6345
6345
6345
495
6345
6345
6345
6345
495
6345
6345
6345
6345
495
6345
6345
请按任意键继续. . .

#6
pangding2010-10-22 18:25
你和程序还没恶劣到系统认为有必要强制退出的程度。
#7
m21wo2010-10-22 18:30
慢点自己调试啊!
#8
vfdff2010-11-12 00:14
是的,能运行的东西不一定正确
#9
VenusNefu2010-11-24 13:30
回复 楼主 staythink
设置断点,慢慢debug,找到逻辑错误
1