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

Разреженный массив на основе массива указателей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ уравнение http://www.cyberforum.ru/cpp-beginners/thread148857.html
1.Составить программу для решения уравнения ax+b=0. при а≠0 вывести на печать решение, при а=0 переменной х присвоить значение 0 и вывести его на печать. Программа следущая: есть ошибки: #include <iostream.h> #include <math.h> main( ) { setlocale(LC_ALL, "Russian"); int x;int a, b; cout << "Ввести a" << endl; cin >> a;
C++ Не имею понятия как программу вообще написать Задан массив Y(k) целых чисел. Если он упорядочен, оставить его без изменения. Если массив не упорядоченный, то вставить после каждого второго элемента минимальное непростое число в массиве. Предусмотреть случай, что массив состоит только из простых чисел. Добавлено через 49 минут Парни выручайте ничего с этим поделать не могу((( http://www.cyberforum.ru/cpp-beginners/thread148855.html
Элементы каждого столбца прямоугольной матрицы упорядочить в порядке убывания C++
Элементы каждого столбца прямоугольной матрицы упорядочить в порядке убывания Желательно на си. Помощи очень нуждаюсь!
C++ Segmentation fault :(
#include<iostream> #include<fstream> using namespace std; struct test{ int id; char name; }; struct first{
C++ Матрица http://www.cyberforum.ru/cpp-beginners/thread148851.html
Найти произведение отрицательных нечетных чисел побочной диагонали матрицы. //--------------------------------------------------------------------------- #include <vcl.h> #include <conio.h> #include <iostream.h> #include <stdlib.h> #pragma hdrstop //---------------------------------------------------------------------------
C++ Генератор пароля Напишите функцию, которая случайным образом генирирует пароль из 8 символов. В пароле должны присутствовать только латинские буквы и цифры в с++ подробнее

Показать сообщение отдельно
visokii
 Аватар для visokii
-2 / 0 / 0
Регистрация: 23.06.2010
Сообщений: 8
23.06.2010, 20:55     Разреженный массив на основе массива указателей
Имеется код, вполне работоспособный.
только я не могу этот класс сделать универсальным
из-за const int amount_element(100);
Подскажите как переменную amount_element вставить в класс,
чтобы количество элементов можно было задавать в конструкторе.


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
#include <iostream>
using namespace std;
 
const int amount_element(100);    //количество элементов массива
 
//******************************************************************
template <class D>
class SpArray //: public BaseArray<D>  
{
public:
    SpArray();
   ~SpArray();
 
    void Store(D,int);                // функция заполнения массива
    D Find(int);                        // функция извлечения из массива
private: 
    D *sheet[amount_element];  //собственно массив указателей   
    
};
 
//******************************************************************
template <class D>
SpArray<D>::SpArray()
{    
    cout<<"           -> CONSTRUCTOR."<<endl;  
    register int t;
    for(t=0; t < amount_element; t++) {sheet[t] = NULL;}
}
 
 
//******************************************************************
template <class D>
SpArray<D>::~SpArray()
{
    cout<<"           -> DESTRUCTOR."<<endl;   
    register int t;
    for(t=0; t < amount_element; t++) 
    {
        if(sheet[t] != NULL)
        {
            delete sheet[t];
            cout<<"delete "<<t<<" element array"<<endl; 
        }
    }
}
 
 
//******************************************************************
template <class D>
void SpArray<D>::Store(D i,int index)  // Г¬Г*ГЈГ*çèГ*
{
    sheet[index] = new D(i);    
}
 
 
//******************************************************************
template <class D>
D SpArray<D>::Find(int index)
{    
    return *sheet[index];
}
 
//******************************************************************
 
 
typedef struct Data
{
    char name[200];
    int var;
}DATA;
 
 
 
DATA GetStr(char str[],int v)   //функция заполнения структуры DATA
{
    DATA Temp;
    strcpy(Temp.name, str);
    Temp.var = v;
    return Temp;
}
 
 
void main()
{
 
    SpArray<DATA> TEXT;
    DATA A1;
 
    A1 = GetStr("Dyplo blya!!!",910);
    TEXT.Store(A1,10);
    A1 = GetStr("Propidor!!!!!",912);
    TEXT.Store(A1,12);
    A1 = GetStr("Da blya!!!!!!",914);
    TEXT.Store(A1,14);
    A1 = GetStr("pidor blya!!!",916);
    TEXT.Store(A1,16);    
 
    A1 = TEXT.Find(12);
    cout<<A1.name<<" - "<<A1.var<<endl;
    A1 = TEXT.Find(14);
    cout<<A1.name<<" - "<<A1.var<<endl;
    A1 = TEXT.Find(16);
    cout<<A1.name<<" - "<<A1.var<<endl;
    A1 = TEXT.Find(10);
    cout<<A1.name<<" - "<<A1.var<<endl;
 
    SpArray<int> NUMB;
    int Var;
 
    Var = 202;
    NUMB.Store(Var,2);
    Var = 404;
    NUMB.Store(Var,4);
    Var = 666;
    NUMB.Store(Var,6);
    Var = 808;
    NUMB.Store(Var,8);
 
    Var = NUMB.Find(2);
    cout<<Var<<" - "<<endl;
    Var = NUMB.Find(4);
    cout<<Var<<" - "<<endl;
    Var = NUMB.Find(6);
    cout<<Var<<" - "<<endl;
    Var = NUMB.Find(8);
    cout<<Var<<" - "<<endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru