Проблема с массивом

Тема в разделе "Общие вопросы по С и С++", создана пользователем Charley2, 25 сен 2010.

Статус темы:
Закрыта.
  1. Charley2

    Charley2 Гость

    Всем здравствуйте. Имеется класс многочленов mng, в котором есть метод nod деления многочлена на его производную. В конструктор передается инициализированный массив, затем через метод pmng создается его производная. В методе nod массивы mass и mas остаток от деления. Сами массивы представляют собой степени много-на с коеф. над полем Z2 (но это кому интересно).
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Текст №1 (работает правильно)</div></div><div class="sp-body"><div class="sp-content">
    Код (Text):
    сlass mng {
    private:
    int N; //кол-во членов в многочлене
    int *mass;
    int pN;  //кол-во членов производной
    int *pmass;
    public:
    mng (int *kof, int n);
    void deriv();
    void nod();
    ~mng();
    };
    mng::mng (int *kof, int n)
    {
    int k=0;
    int i;
    N=n;
    mass = new int[N];
    .... //здесь передаю kof в поле mass
    this->deriv();  //вызов функции производной
    }

    void mng::deriv () {     
    int pmass = new int[pN];     //производная
    ...
    }

    void mng::nod () {
    int n, j, i=0;
    int metka, chlen;
    int *chas;

    chas = new int[20]; //это частное

    ... //здесь я оперирую с mass и pmass

    cout << "\n" << deg;
    for (i=0; i<N; i++) {
    cout << mass[i] << "  "; //ПРАВИЛЬНЫЙ ОСТАТОК
    }
    }

    mng::~mng() {
    delete [] mass;
    delete [] pmass;
    }

    int _tmain(int argc, _TCHAR* argv[])
    {
    ... //здесь я инициализирую массив kof
    mng T1 ( kof, n); //kof массив n степень
    T1.nod();
    getch();
    return 0;
    }
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Текст №2 (работает не правильно)</div></div><div class="sp-body"><div class="sp-content">
    Код (Text):
    class mng {
    private:
    int N; //кол-во членов в многочлене
    int *mass;
    int pN;  //кол-во членов производной
    int *pmass;
    public:
    mng (int *kof, int n);
    void deriv();
    void nod();
    ~mng();
    };
    mng::mng (int *kof, int n)
    {
    int k=0;
    int i;
    N=n;
    mass = new int[N];
    .... //здесь передаю kof в поле mass
    this->deriv();  //вызов функции производной
    }

    void mng::deriv () {     
    int pmass = new int[pN];     //производная
    ...
    }

    void mng::nod () {
    int n, j, i=0;
    int metka, chlen;
    int *chas;
    int *mas; //это различие
    int *pmas; //это различие  

    chas = new int[20];
    mas = new int[N+1]; //это различие
    pmas = new int[pN+1]; //это различие

    for (i=0; i<N; i++) {   //это различие
    mas[i]=mass[i];  
    }
    for (j=0; j<pN; j++) {  //это различие
    pmas[j]=pmass[j];
    }

    ... //здесь я оперирую с mas и pmas

    cout << "\n" << deg;
    for (i=0; i<N; i++) {
    cout << mas[i] << "  "; // НЕПРАВИЛЬНЫЙ ОСТАТОК
    }
    }

    mng::~mng() {
    delete [] mass;
    delete [] pmass;
    }

    int _tmain(int argc, _TCHAR* argv[])
    {
    ... //здесь я инициализирую массив kof
    mng T1 ( kof, n); //kof массив n степень
    T1.nod();
    getch();
    return 0;
    }
    Не пойму в чем проблема?
     
  2. Charley2

    Charley2 Гость

    Всем отбой. Ошибку нашел сам :)
     
Загрузка...
Похожие Темы - Проблема массивом
  1. AgniXRudra
    Ответов:
    2
    Просмотров:
    49
  2. Zloikaktus
    Ответов:
    0
    Просмотров:
    27
  3. c0de3r
    Ответов:
    5
    Просмотров:
    151
  4. DobermannTT
    Ответов:
    10
    Просмотров:
    157
  5. SoulPaladin
    Ответов:
    4
    Просмотров:
    143
Статус темы:
Закрыта.

Поделиться этой страницей