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

Разобраться с использованием класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не работает программа(рекурсия)(код в нутри) http://www.cyberforum.ru/cpp-beginners/thread401447.html
#include "stdafx.h" #include <iostream> using namespace std; char shest; int i; void vvod() {
C++ Не получается правилный вывод на экран.(код в нутри) если я ввожу больше 1 то на экране отображается не то что я прошу вывести а просто набо цифр(ну или не просто набор цифр) "2" это например "12592" а не "10" #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { char shest; http://www.cyberforum.ru/cpp-beginners/thread401426.html
C++ Удалить элементы кратные 7. Добавить после каждого элемента массива элемент со значенем 0.
// Кузя 2.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <stdlib.h> #include <conio.h> #include <iostream> #include <time.h> using namespace std;
C++ Считать текст из файла и вывести сначала вопросительные, а затем восклицательные предложения
Здравствуйте форумчане) Помогите, пожалуйста! Требуется: Считать текст из файла и вывести на экран сначала вопросительные, а затем восклицательные предложения. Я как-то делал аналогичную задачу, но там на экран нужно было выводить только фразы в кавычках, а тут как? Вот код моей предыдущей программы. #include <fstream> #include <iostream> #include <string> using namespace std; int main()...
C++ Мумба-Юмба http://www.cyberforum.ru/cpp-beginners/thread401414.html
Имя входного файла: f.in Имя выходного файла: f.out Максимальное время работы на одном тесте: 1 секунда Максимальный объем используемой памяти: 64 мегабайта Слова в языке Мумба-Юмба могут состоять только из букв a, b, c, и при этом: • никогда не содержат двух букв b подряд, • ни в одном слове никогда не встречается три одинаковых подслова подряд. Например, по этому правилу в язык...
C++ подскажите решение задачи представить программу позволяющую для заданного целого короткого числа выполнить 1)перестановку младшей и старшей триады 2) перестановку младшей и старшей тетрады 3) перестановку младшей и старшей триады старшего байта 4) перестановку младшей и старшей тетрады старшего байта 5)перестановку младшей и старшей триады младшего байта 6)перестановку младшей и старшей тетрады младшего байта подробнее

Показать сообщение отдельно
HCK
 Аватар для HCK
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
07.12.2011, 20:22     Разобраться с использованием класса
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include <assert.h>
template <class H>H RanDD(H x){return (H)(random(x)-random(x)+1);};
template <class H>
class Matrix
{
  private:
     H **matrix, **tmatrix;
     H aaa, TEMP, Nevyazka;
     int SIZE;
     void Perestanovka(H*,H*);
     long Count;
     public:
      Matrix(int,H);
      ~Matrix();
     H ** PtrM(){return matrix;}
     bool Initial(H(*fff)(H)){for(int i=0;i<SIZE;i++)for(int j=0;j<SIZE;j++)matrix[i][j]=fff(aaa);return true;};
     bool Initial();
     H Insert(int n,int m){return matrix[n][m];};
     H InsertT(int n,int m){return tmatrix[n][m];};
     long count(){return Count;};
     void count(long a){ Count = a;};
     H nevyazka(){return Nevyazka;};
     bool Add(H a,int n,int m){matrix[n][m]=a;return true;};// добавляет в матрицу
     bool AddA(H a,int n){array[n]=a;   return true;};// добавляет в массив
     bool Multiplying();
     bool Transpon();
     int Faddeev();
     H Sled(H**);
};
//==============================================================================
// обращение матрицы методом фаддеева
template<class H>
int Matrix<H>::Faddeev()
{
     H **EDIN = new H*[SIZE], sled,ppp;
     H **BBB = new H*[SIZE];
//     H **PPP = new H*[SIZE];
     assert(EDIN !=0);
     assert(BBB !=0);
// создаю единичную матрицу
     for(int i=0;i<SIZE;i++)
      {
       EDIN[i]=new H[SIZE];
       BBB[i]=new H[SIZE];
       for(int j=0;j<SIZE;j++)
         {
          if(i==j)EDIN[i][j]=1;
          else EDIN[i][j]=0;
          tmatrix[i][j] = matrix[i][j];
         }
      }
     for(int i=0;i<SIZE-1;i++)
      {
        sled = Sled(tmatrix);
        ppp=(sled/(i+1));
        for(int g=0;g<SIZE;g++)
          for(int f=0;f<SIZE;f++)
            { BBB[g][f]=tmatrix[g][f]-EDIN[g][f]*ppp;Count++;}
        for(int qq=0;qq<SIZE;qq++)
          for(int ww=0;ww<SIZE;ww++)
              {tmatrix[qq][ww]=0;
               for(int kk=0;kk<SIZE;kk++)
                  {
                    tmatrix[qq][ww] += matrix[qq][kk]*BBB[kk][ww];
                    Count++;
                  }
              }
      }
     sled = Sled(tmatrix);
     ppp=(sled/(SIZE));
     for(int qq=0;qq<SIZE;qq++)
       for(int ww=0;ww<SIZE;ww++)
           tmatrix[qq][ww]=BBB[qq][ww]/ppp;
 
     Nevyazka = 0;
     for(int qq=0;qq<SIZE;qq++)Nevyazka+=(matrix[qq][SIZE-1]-tmatrix[qq][SIZE-1])*(matrix[qq][SIZE-1]-tmatrix[qq][SIZE-1]);
     Nevyazka = sqrt(Nevyazka)/(SIZE-1);
 
     for(int i=0;i<SIZE;i++){delete[]EDIN [i];delete[]BBB [i];}
     delete[]BBB;
     delete[]EDIN;
   return 1;
}
template<class H>
bool Matrix<H>::Initial()
{
     H **UM = new H*[SIZE];
     H **DM = new H*[SIZE];
     assert(UM !=0);assert(DM !=0);
     for(int i=0;i<SIZE;i++)
      {
       UM[i] = new H[SIZE];
       DM[i] = new H[SIZE];
       for(int j=0;j<SIZE;j++)
         {
           if(j<=i) DM[i][j]=(random(aaa)+1)*pow(-1,random(1));
           else     DM[i][j]=0;
           if(j<i)  UM[i][j]=0;
           else     UM[i][j]=(random(aaa)+1)*pow(-1,random(1));
           Count+=4;
         }
      }
     for(int i=0;i<SIZE;i++)
      for(int j=0;j<SIZE;j++){matrix[i][j]=0;Count++;
        for(int k=0;k<SIZE;k++)
            {matrix[i][j] += UM[i][k]*DM[k][j];Count++;}}
     for(int i=0;i<SIZE;i++){delete[]DM[i];delete[]UM[i];}
     delete[]UM;
     delete[]DM;
   return 1;
}
//==============================================================================
//  считает след матрицы приведённой к треуголному виду
//  перед вызововм необходимо использовать PrivedUp2()
template<class H>
H Matrix<H>::Sled(H**matr)
{
 H temp1=0;
 for(int h=0;h<SIZE;h++)
  {
    temp1+=matr[h][h];
  }
 return temp1;
}
//==============================================================================
//
template<class H>
Matrix<H>::Matrix(int size,H a)
{
   SIZE = size; aaa = a; Count = 0;
   if(SIZE)
    {
     matrix = new H*[SIZE];
     assert(matrix!=0);
     tmatrix = new H*[SIZE];
     assert(tmatrix!=0);
     for(int i=0;i<SIZE;i++)
      {
       matrix[i]=new H[SIZE];
       assert(matrix!=0);
       tmatrix[i]=new H[SIZE];
       assert(tmatrix!=0);
      }
    }
};
template<class H>
Matrix<H>::~Matrix()
{ if(SIZE)
    {
     for(int i=0;i<SIZE;i++)
      {
       delete[]matrix[i];
       delete[]tmatrix[i];
      }
     delete[]matrix;
     delete[]tmatrix;
    }
 
};
Это вроде на чистом С написано ? Можно ли его прикрепить к С++. У меня с ООП туговато в этом плане
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru