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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Konyahinzhenya
-23 / 1 / 0
Регистрация: 20.09.2011
Сообщений: 32
#1

Создание класса - C++

21.09.2011, 22:48. Просмотров 953. Ответов 14
Метки нет (Все метки)

Разработать класс, для представления заданной (см. варианты) структуры данных в виде динамической структуры данных. Т.е. для хранения элементов данных (например, цифр числа) будут использоваться динамические массив, список, массив указателей и т.д. При этом требуется:
- разработать конструкторы для различных типов входных данных (без параметров, параметр-строка, параметр-массив) и деструктор;
- разработать методы вывода и ввода содержимого объекта в поток (на экран), а также в текстовую строку (из строки);
- базовый набор содержательных операций над типом данных (добавление (вставка) элементов, удление элементов).


Вариант - Матрица переменной размерности, представленная динамическим массивом, в котором строки матрицы расположены последовательно друг за другом.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2011, 22:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание класса (C++):

Явное создание экземпляра класса и явная специализация шаблона класса - C++
Всем добрый день! Не могу разобраться - эти две технологии дают один и тот же результат? В каких случаях применять одно и другое?...

Построение описания класса, создание и уничтожение объектов этого класса - C++
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения...

Создание указателя типа базового класса на экземпляр производного класса - C++
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса - наследника, для чего это может применяться?

Создание класса-списка на основе кода со списком без класса - C++
Здравствуйте. Не могли бы вы показать, как оформить этот код в виде класса. Смысл задания: это засунуть в список большое число(здесь я...

Возможно ли создание объекта шаблонного класса в функции этого класса? - C++
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон контейнера (множество) с операциями...

Создание объекта класса с полем являющимся объектом другого класса - C++
Bill a; cin>>a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.09.2011, 22:49 #2
пользуйтесь поиском задача уже решалась
0
Konyahinzhenya
-23 / 1 / 0
Регистрация: 20.09.2011
Сообщений: 32
21.09.2011, 22:54  [ТС] #3
как такового решения там не было.. я находил

Добавлено через 3 минуты
не просто создать класс для работы с матрицей, а Матрица переменной размерности, представленная динамическим массивом, в котором строки матрицы расположены последовательно друг за другом.
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.09.2011, 22:55 #4
Объектно-ориентированное программирование
0
Konyahinzhenya
-23 / 1 / 0
Регистрация: 20.09.2011
Сообщений: 32
21.09.2011, 22:58  [ТС] #5
там Матрица переменной размерности, представленная динамическим массивом, в котором строки матрицы расположены последовательно друг за другом ??
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.09.2011, 22:59 #6
Цитата Сообщение от Konyahinzhenya Посмотреть сообщение
там Матрица переменной размерности, представленная динамическим массивом, в котором строки матрицы расположены последовательно друг за другом ??
именно
0
Konyahinzhenya
-23 / 1 / 0
Регистрация: 20.09.2011
Сообщений: 32
21.09.2011, 23:10  [ТС] #7
такой большой код... столько всего.. не мог ли бы помоч урезать его под мое задание?
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.09.2011, 23:14 #8
Цитата Сообщение от Konyahinzhenya Посмотреть сообщение
такой большой код... столько всего.. не мог ли бы помоч урезать его под мое задание?
а это уже ваша задача, должны же и вы сами чего-то поделать
1
Konyahinzhenya
-23 / 1 / 0
Регистрация: 20.09.2011
Сообщений: 32
22.09.2011, 18:09  [ТС] #9
там этого нет..
разработать конструкторы для различных типов входных данных (без параметров, параметр-строка, параметр-массив) и деструктор;
- разработать методы вывода и ввода содержимого объекта в поток (на экран), а также в текстовую строку (из строки);
- базовый набор содержательных операций над типом данных (добавление (вставка) элементов, удление элементов).
0
Konyahinzhenya
-23 / 1 / 0
Регистрация: 20.09.2011
Сообщений: 32
19.10.2011, 19:03  [ТС] #10
- разработать конструкторы для различных типов входных данных (без параметров, параметр-строка, параметр-массив) и деструктор;
- разработать методы вывода и ввода содержимого объекта в поток (на экран), а также в текстовую строку (из строки);
- базовый набор содержательных операций над типом данных (добавление (вставка) элементов, удление элементов).

Это все нужно сделать для "Матрица переменной размерности, представленная динамическим массивом, в котором строки матрицы расположены последовательно друг за другом".


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
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
class Matriza
{
 private:
         int x, y;//razmernost matrizi
         int shag;//peremennaya ravnaua dlinne stroki
         int *M;//dinamicheskiy massiv dlya hraneniya matrizi
 public:
        Matriza(void);//konstruktor
        ~Matriza(void);//distruktor
        void Add(int ab);//zapolneniye matrizi chislami
        void print(void);
        void morex(void);//dobavit stolbez
        void morey(void);//dobavit stroku
        void run(void);//dlya krasoti;-)
};
 
Matriza::Matriza(void)
{
 int *M=new int[x*y];
 shag=x;
}
 
 
Matriza::~Matriza()
{
 delete [x*y] M;
}
 
void Matriza::Add(int ab)
{
 int i;
 for (i=0; i<y*x; i++)
    //for (j=0; j<x; j++)
       {
        M[i]=ab;
       }
}
 
void Matriza::print(void)
{
 int i;
 for (i=0; i<y*x; i++)
 {
    if (i==x)cout<<'\n';
    cout<<M[i]<<' ';
    //if (i==shag)cout<<'\n';
 }
}
 
void Matriza::run(void)
{
  int a=1;
  cout<<"Vvedite razmeri matrizi: \n stok(y)= ";
  cin>>y;
  cout<<"\n stolbchov(x)= ";
  cin>>x;
  cout<<"\n";
  cout<<"Vvedite elementi Matrizi. Vvod zakanchivaetsya,kogda vi vvedete 0.\n";
 while (a!=0)
 {
  cin>>a;
  if(a==0)break;
  Add(a);
 }
  //Add();
  print();
  getch();
}
 
main ()
{
 Matriza matr;
 matr.run();
}
Но это полная "хрень" прошу помогите если можете.
0
Choopa
17 / 17 / 0
Регистрация: 03.04.2011
Сообщений: 89
19.10.2011, 19:17 #11
Конструктор у тебя только один, и тот без параметров
0
Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
19.10.2011, 19:18 #12
Посмотрите тут: Объектно-ориентированное программирование
0
Konyahinzhenya
-23 / 1 / 0
Регистрация: 20.09.2011
Сообщений: 32
19.10.2011, 19:44  [ТС] #13
Да и прога вылетает... Помогите пожалуйсто довести до ума , возможно вознаграждение WMR ))

Добавлено через 2 минуты
Цитата Сообщение от Revol'veR Посмотреть сообщение

Там немного не то ... что мне нужно

Добавлено через 21 минуту
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
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <string.h>
using namespace std;
 
class Matryx
{
 public:
  Matryx(char *s);
  Matryx(double **A,int m,int n);
  Matryx(int a,int b);
  int Get_Len();
  int Get_Str();
  void Cout();
  void Random();
  void Cin();
  double Get(int i,int j);
  void Set(int i,int j,double data);
 
  ~Matryx();
 private:
  double Read(char *s,int *i);
  double *arr;
  int i;
  int l;
};
 
Matryx::Matryx(char *s)
{
 int j=0;
 Matryx::i=(int)Read(s,&j);
 l=(int)Read(s,&j);
 arr=new double[l];
 int k=0;
 while (s[j]!=0)
 {
  arr[k]=Read(s,&j);
  k++;
 }
}
 
Matryx::Matryx(double **A,int m,int n)
{
 arr=new double[(l=n*m)];
 i=m;
 int c=0;
 for (int a=0;a<m;a++)
 for (int b=0;b<n;b++)
 {
  arr[c]=A[a][b];
  c++;
 }
}
Matryx::Matryx(int a,int b)
{
 i=a;
 l=a*b;
 arr=new double[l];
}
int Matryx::Get_Len()
{
 return l/i;
}
int Matryx::Get_Str()
{
 return i;
}
void Matryx::Cout()
{
 if (arr!=NULL)
 for (int a=0;a<l;a++)
 {
  cout<<" | "<<arr[a];
  if (a%i==i-1)
  cout<<"\n";
 }
}
void Matryx::Random()
{
 for (int a=0;a<l;a++)
 arr[a]=rand()*0.01;
}
void Matryx::Cin()
{
 for (int a=0;a<l;a++)
 {
  cin>>arr[a];
 }
}
double Matryx::Get(int i,int j)
{
 if (int a=Matryx::i*i+j<l)
 return arr[l];
 else
 cout<<"Error\n";
 return 0;
}
void Matryx::Set(int i,int j,double data)
{
 if (int a=Matryx::i*i+j<l)
 arr[l]=data;
 else
 cout<<"Error\n";
}
Matryx::~Matryx()
{
 if (arr)
 delete []arr;
}
double Matryx::Read(char *s,int *i)
{
 int a=0;
 char c[10];
 while ((s[*i]!=' ')||(s[*i]!=0))
 {
  c[a]=s[*i];
  a++;
  *i++;
 }
 if (s[*i]!=0)
 *i++;
 double b=atof(c);
 return b;
}
 
main()
{
  
}
посмотрите пожалуйсто
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
19.10.2011, 21:01 #14
у тебя массив получается а не матрица
0
Konyahinzhenya
-23 / 1 / 0
Регистрация: 20.09.2011
Сообщений: 32
19.10.2011, 22:27  [ТС] #15
так у меня задание Матрица переменной размерности, представленная динамическим массивом
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2011, 22:27
Привет! Вот еще темы с ответами:

Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами - C++
Привести пример класса с конструктором и деструктором, созданием экземпляра класса с помощью конструктора с параметрами.

Создание статической функции класса, которая принимает экземпляр этого же класса как объект - C++
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...

создание объекта класса в методе этого же класса - C++
собственно вопрос. можно ли создавать объект класса в методе того же класса? насколько это правильно и как это можно сделать (если это...

Создание экземпляр класса из другого класса - C++
Добрый день, форумчане. Помогите разобраться с такой плюсовенькой проблемой: есть 2 класса (назовем их A &amp; B). Нужно в классе B запустить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.10.2011, 22:27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru