Форум программистов, компьютерный форум CyberForum.ru

Список полинома - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шаблон с ограниченным кол-вом типов http://www.cyberforum.ru/cpp-beginners/thread707679.html
Всем хорошего настроения. Допустим у нас есть код #include <iostream> template<typename MyType> void MyFunc(MyType a){ cout<<a<<"^2="<<a*a<<endl; } using namespace std;
C++ Вычислить определитель матрицы и записать результат в файл У меня есть написанный мною код на С++. Эта программа вычисляет определитель матрицы. Что нужно добавить в мой код чтобы матрица была записана в файл test.in , а результат в файл test.out ??? Для работа с файлами использовать cstdio (или оно-же stdio.h) Как такое сделать ? Вот код : #include<stdio.h> #include<math.h> #include<conio.h> #include<stdlib.h> http://www.cyberforum.ru/cpp-beginners/thread707668.html
C++ Диагональные элементы матрицы заменить на 1
дан двумерный массив. диагональные элементы массива заменить на 1. проблема с заменой. в полученном массиве все элементы совпадают только ч последней строкой исходного массива. в чем проблема? не могу найти( Программа на Dev c++ #include <iostream> #include <conio.h> #include <stdlib.h> #include <time.h> using namespace std; int main()
Множественное наследование C++
По этой схеме нужно сделать множественное наследование. Вот код:#include <iostream> #include <conio.h> #include <string> using namespace std; class B1{ int a; public:
C++ Указатели и и функции в классе http://www.cyberforum.ru/cpp-beginners/thread707655.html
По учебнику Дейтела пытаюсь сделать задачу игры в Покер (по крайней мере, похожей на нее). Задание стоит так, что у меня есть исходный код программы, которая перемешивает и раздает все карты в случайном порядке. Мне надо модифицировать программу так, чтобы она раздавала 5 карт игроку и проверяла некоторые комбинации (пара, две пары, тройка, каре, флеш, стрит), для чего я должен прописать...
C++ не работает itoa void summa(int namber1_,int namber2_,unsigned short int des1,unsigned short int des2){ unsigned short int des_,des__; namber=namber1_+namber2_; des_=des1+des2; des__=des_/100; int input; char *tmp=new char; _itoa_s (input,tmp,10); int count = strlen(tmp); подробнее

Показать сообщение отдельно
mrstmf
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 22
24.11.2012, 17:51     Список полинома
Класс полином и класс список для полинома. В списке в функции SortAdd перед return выдает ошибку. С чем может быть связано?

Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
class Polynom
{
friend class List;
      int *Values;
      int Degree;
public:      
      Polynom()
      {
               cout<<"What is the maximum degree of polynomial?"<<endl;
               cin>>Degree;
               Values=new int [Degree+1];
               
               for (int i=0;i<=Degree;i++)
               {
                   cout<<"Enter the coefficient of x^"<<i<<endl;
                   cin>>Values[i];
               }
      };//Polynom()
      
 
      ~Polynom() {delete [] Values; Degree = 0;};//~Polynom
      
/*Далее операторы для полинома*/    
};
class List
{
      struct PolynomList
      {
             Polynom *lP;
             PolynomList *next;
             PolynomList *prev;
      };
 
      PolynomList *beg;
      PolynomList *end;
public:      
      List (){beg=0;end=0;}
      ~List () 
      {
            PolynomList *key=beg;
            if (key!=end)
               while (key)
               {
                  key=key->next;
                  delete key->prev;
                  }
            else delete key;
      }
      
      void SortAdd ()
      {
           PolynomList *P, *key=beg;
           P->lP = new Polynom;
           P->num=0;
 
           if (beg==0) {beg=P;/*Вот тут выдает ошибка*/return;}
           if (end==0) 
              if ((beg->lP)->Degree<(P->lP)->Degree) {end=P; beg->next=end; end->prev=beg; beg->prev=0; end->next=0; return;}
              else {end=beg; beg=P; beg->next=end; end->prev=beg; beg->prev=0;  end->next=0; beg->num=1;  return;  }
           
           while (key)
           {
                 if ((P->lP)->Degree<key->lP->Degree)
                 {
                         if (key==beg){ P->next=beg;  beg->prev=P;  beg=P; return; }
                         else 
                         {
                              key->prev->next=P;
                              P->prev=key->prev;
                              P->next=key;
                              key->prev=P;
                              return;
                         }
                 }
           key=key->next;
           }//while
 
           P->next=0;
           P->prev=end;
           end->next=P;
           end=P;
           return;
      };//sortadd
      
 /*Далее еще некоторые функции*/
};
 
int main ()
{
List l;
l.SortAdd();
}//class list
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru