首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教这段程序错在哪,运行时输入15会报错,输入其它数字,可能正确运行,什么原因呢

2012-06-08 
请问这段程序错在哪,运行时输入15会报错,输入其它数字,可能正确运行,什么原因呢C/C++ code#include strin

请问这段程序错在哪,运行时输入15会报错,输入其它数字,可能正确运行,什么原因呢

C/C++ code
#include <string.h>#include <iomanip>#include <iostream>using namespace std;class Njie{public:    Njie(int m = 1);        void setNjie();    void print();    ~Njie();private:    int *buffer;        int n;};Njie::Njie(int m){    n = m;    buffer = new int[n*n];    memset(buffer,0,n*n*sizeof(int));}Njie::~Njie(){    delete []buffer;    buffer=NULL;}void Njie::setNjie(){    int i,row,line;                // row 行  line 列    int a = 0, k = 1;    int b = (n-1)/2;    buffer[b] = 1;    for(i=0; i<n*n; i++)    {        row = a;        line = b;        a = (a + n - 1) % n;        b = (b + n + 1) % n;        if(buffer[a*n+b] == 0)        {            buffer[a*n+b] = ++k;        }        else        {            a = row + 1;            b = line;            buffer[a*n+b] = ++k;        }    }}void Njie::print(){    int i,j;    for(i=0; i<n; i++)        for(j=0; j<n; j++)        {            cout << setw(5) <<buffer[i*n+j];            if((j+1) == n)            {                cout<<endl;            }        }}void main(){    int n;    cout<<"输入N:";    cin>>n;        Njie m = n;    m.setNjie();    m.print();}
请问这段程序错在哪,运行时输入15会报错,输入其它数字,可能正确运行,什么原因呢

[解决办法]
表示 运行后输入 15 后没有错啊
[解决办法]
我运行没错啊..
你报什么错?
[解决办法]
探讨
Debug error

热点排行