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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Получить вектор сумм элементов нечетных столбцов матрицы http://www.cyberforum.ru/cpp-beginners/thread27962.html
1.В матрице вещественных чисел из 5ти строк и 4х столбцов определить кол-во положительных, отрицательных и нулевых элементов 2.Получить вектор сумм элементов нечетных столбцов матрицы 3Х7 целых чисел П.С.: помогите хоть основу написать, схему и остальное как нить наклепаю, информатичка просто баба базарная у нее хрен чтото спроосиш, бесит жутко, а еще и экзамен по информатике
C++ Вычислить сумму S проложительных элементов и заменить четные элементы массива на S помогите с написанием кода, и обьясните немного почему что и зачем вводить, вроде не тупая, но самой информатику тяжело учить http://www.cyberforum.ru/cpp-beginners/thread27960.html
C++ Табулирование функции, подскажите в чем ошибка
у меня была задача с табулированием (Составить схему алгоритма и программу табулирования функции f(x), изменяя х от 0.2 до 14.8 с шагом 0.2) при вводе в С++ програмного кода, выдает две ошибки в строке кода: #include <vcl.h> #pragma hdrstop #include <math.h> #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma...
Перевод времени из минут и секунды в секунды C++
Всем привет! Помогите с контрольными по С++, Я пока не совсем понимаю этот язык. Заранее Спасибо! 4.12 Написать программу, которая переводит время из ми-нут и секунд в секунды. Извне вводятся минуты и секунды. В программе предусмотреть проверку на правильность введенных данных (только положительные, кроме того число минут <=60 и число секунд <=60). 5.12 Написать программу, которая выводит...
C++ Потоки в С++ http://www.cyberforum.ru/cpp-beginners/thread27953.html
Парни нужна помощь! #include <stdio.h> #include <string.h> #include <conio.h> #include <stdlib.h> #include <iomanip.h> #include <iostream.h> #include <fstream.h> void linia() {cout<<"=================================================\n";}
C++ Не работает string Здравствуйте, в чем может быть проблемма? #include <string> int main() { std::string s; return 0; } получаю d:\visual studio\vsc++\vc98\include\ios(9) : fatal error C1083: Cannot open include file: 'streambuf': No such file or directory подробнее

Показать сообщение отдельно
Mrs_Black
0 / 0 / 0
Регистрация: 14.12.2008
Сообщений: 8

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

29.03.2009, 19:57. Просмотров 480. Ответов 0
Метки (Все метки)

Создайте класс – вектор (в пространстве Rn ). Класс должен содержать, по крайней
мере 2 члена ргivaте: количество координат и поинтер к типу long double. Количество координат должно быть статическим членом. Членами public будут методы: неявный конструктор, конструктор копирования, конструктор с параметрами для инициализации, деструктор и функции: модификации координат, доступа к координатам, вычисление длины вектора, вывод координат. Определите метод для вычисления среднего арифметического значения двух макимальных величин из 2-х векторов. Вычислите в функции main(), для 2 векторов, длину и среднее рифметического значения двух макимальных величин до и после модификации некоторой координаты. В main() используйте обычную переменную типа вектор и поинтер к типу вектор.

Добавлено через 1 минуту 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
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
class punct
{ static int n; // кол-во координат
int *p; // поинтер к точке
int acces(); // доступ к координатам
 
public:
punct() // неявный конструктор
{ p = new int[n]; // создает объект и
} // не инициализирует его
punct( int n ); // конструктор с 1 параметром
// инициализирует координаты значением 0
punct( int n, int *p ); // конструктор с 2 параметрами
// инициализирует кол-во координат
// и их значения через параметры
punct( int *p ); // конструктор с 1 параметром
// инициализирует значения координат
// через параметры
punct( const punct& A ); // конструктор коприрования
~punct() // деструктор
{ if( p ) delete [] p;
p = 0;
cout << "\nУничтожен 1 объект!\n";
}
double dist_orig(); // расстояние до начала координат
double dist(punct *w); // расстояние между точками
int modifc(); // модифицируект одну координату
void cit(); // читает координаты точки
void show(); // выводит координаты точки
};
int punct::n=2; // инициализирует значением 0 кол-во координат,
// кот. Является статическим методом
punct::punct( int n ) // конструктор с 1 параметром
{ punct::n = n; // инициализирует координаты значением 0
p = new int[n];
for( int i=0; i < n; i++ )
p[i] = 0;
}
punct::punct( int n, int *p ) // конструктор с 2 параметрами
{ punct::n = n; // инициализирует кол-во координат
punct::p = new int[n]; // и их значения через параметры
for( int i = 0; i < n; i++ )
punct::p[i] = p[i];
}
punct::punct( int *p ) // конструктор с 1 параметром
{ punct::p = new int[n]; // инициализирует значения
for(int i = 0; i < n; i++ ) // координат через параметры
punct::p[i] = p[i];
}
punct::punct( const punct& A ) // конструктор коприрования
{ n = A.n;
p = new int[n];
for( int i = 0; i < n; i++ )
p[i] = A.p[i];
}
void punct::cit()
{ for( int i=1; i<=n; i++)
{ cout << "Введите координату " << i << ": ";
cin >> p[i-1]; } }
double punct::dist_orig()
{ double L=0;
for( int i = 0; i < n; i++ )
L+=(double)p[i]*p[i];
L = sqrt( L ); return L; }
double punct::dist(punct *w)
{ double L=0;
for( int i = 0; i < n; i++ )
L+=( w->p[i] - (double)p[i] ) * ( w->p[i] - (double)p[i] );
L = sqrt( L ); return L; }
int punct::modifc()
{ int m=acces(); if( m )
cin >> p[m-1];
return m; }
int punct::acces()
{ int m; cout << "Какую координту хотите менять? ";
cin >> m;
if( m<=0 || m>n )
{ cout << "Нет координаты с порядковым номером " << m << endl;
return 0; }
cout << "Координата " << m << " равна " << p[m-1] << endl;
cout << "Введите новое значение для этой координаты: ";
return m; }
void punct::show()
{ cout << endl << "Координаты точки:\n" << endl;
for( int i = 0; i < n; i++ )
{ cout << "x[" << i+1 << "]=" << p[i] << endl;} }
int main()
{ cout.precision(4);
int n, r; double m;
// Вызов неявного конструктора
// Строит неинициализированный объект A
// с 2 координатами
// Деструктор можно вызвать явно только, если перед его именем
// указано имя класса и оператор '::' !!!
punct A; A.show(); A.punct::~punct();
// Вызов неявного конструктора
// Строит неинициализированный объект
// с 2 координатами и поинтер
// B к этому объекту
punct *B = new punct; B->show(); B->punct::~punct();
// Вызов конструктора с 1 параметром int
// Строит объект C с 3 координатами,
// которые инициализированы значением 0
punct C(3); C.show(); C.punct::~punct();
// Вызов конструктора с 1 параметром int
// Строит объект с 4 координатаими,
// которые инициализируются значением 0 и
// поинтер D к этому объекту
punct *D = new punct(4);
D->show(); D->punct::~punct();
// Вызов конструктора с 2 параметрами: int и int *
// Строит объект E с 4 координатами,
// которые инициализируются значениями их массива x
int x[] = { 1,2,3,4 };
punct E(4,x); E.show(); E.punct::~punct();
_getch();
// Вызов конструктора с 2 параметрами: int и int *
// Строит объект с 5 координатами,
// которые инициализированы значениями из массива y
// и поинтер F к этому объекту
int y[] = { 11,12,13,14,15 };
punct *F = new punct(5,y); F->show(); F->punct::~punct();
// Вызов конструктора с 1 параметром int *
// Строит объект с 5 координатамиConstruieste un obiect cu 5 coordonate
// которые инициализированы значениями из массива z
int z[] = { 21,22,23,24,25,26 };
punct G(z); G.show(); G.punct::~punct();
// Вызов конструктора с 1 параметром int *
// Строит объект с 7 координатами,
// которые инициализированы значениями из массива t
// и поинтер H к этому объекту
int t[] = { 31,32,33,34,35,36,37 };
punct *H = new punct(7,t); H->show();
// Вызов конструктора копировнаия
// Строит объект I, который есть копия объекта,
// на который указывает поинтер H.
punct I = *H; I.show(); H->punct::~punct();
_getch();
// Вызов конструктора копирования
// Строит копию объекта I
// и поинтер J к этой копии
punct *J = &I; J->show(); J->punct::~punct();
cout << "Введите кол-во координат: "; cin >> n; cout << endl;
punct K(n); K.cit(); K.show(); m=K.dist_orig();
cout << "\nРасстояние OK: " << m << endl << endl;
punct *W=new punct(n); W->cit(); W->show(); m=W->dist_orig();
cout << "\nРасстояние OW: " << m << endl << endl;
cout << "Расстояние KW: " << K.dist(W) << endl;
n = K.modifc(); if( n )
{ cout << endl; K.show();
m=K.dist_orig(); cout << endl;
cout << "Расстояние OK: " << m << endl << endl; }
r = W->modifc(); if( r )
{ cout << endl; W->show();
m=W->dist_orig(); cout << endl;
cout << "Расстояние OW: " << m << endl << endl; }
if( n || r )
cout << "Расстояние KW: " << K.dist(W) << endl;
K.punct::~punct(); W->punct::~punct();
return 0; }
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru