Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 31.10.2008
Сообщений: 21

Ошибка в рабочей программе (классы, обьекты, приватные члены)

10.05.2009, 13:21. Показов 624. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие:
Создайте класс – vector. Класс должен содержать, по крайней мере, 3 члена private: количество координат точки, поинтер к типу long double и функцию доступа к координатам точки. количество координат должно быть статическим. Используйте методы: неявный , деструктор и функции: модификации координат, вычисление
длины вектора, вывод координат . Перегрузите операцию сложения для среднего арифмет значения среди двух максимальных элементов этих двух векторов.
Вычислите в функции main()длину двух векторов и среднее арифметическое двух максим элементов этих векторов до и после изменения какойлибо из их координат. В main() используйте обычную переменную типа vector и поинтер к типу vector. Перегруженная операция должна выдержать операцию присваивания!

Програма вроде работает... Надо чтобы у вектора 1 и 2 было разное кол-во, чтобы был вынужден менять этот n при переходе от одного вектора к другому.
если не трудно гляньте какие недочеты могут быть в программе??потому что мне за неё поставили 2)).

Решение:
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
#include<stdio.h>
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
class vector
{ 
      
      static int n;
      long double* p;
      int acces();
      
      public:
         vector()
         {
           p = new long double[n];
         }
         vector(int s);
         ~vector() {
                   if(p) delete [] p;
                   p=0;
                   cout<<"\nObject Deleted ";
                  }
         long double operator +(vector &);
         int modifc();
         void fc(int d);
         long double dist();
         void read();
         void print(); 
                      
};
 
int vector::n=2;
 
void vector::fc(int d)
{ vector::n=d; }
 
vector::vector( int s )
{vector::n=s;
p = new long double[s];
for( int i=0; i < s; i++ )
p[i] = 0;
}   
 
void vector::read()
{  for( int i=1; i<=n; i++)
{cout << "Vvedite coordinatu " << i << ": ";
cin >> p[i-1];}}
 
int vector::acces()
{  int m; cout << "Kakuiu koordinatu hotite meneati? ";
cin >> m;
if( m<=0 || m>n )
{cout << "Net koordinati s poradkovim nomerom " << m << endl;
return 0;}
cout << "Koordinata " << m << " ravna " << p[m-1] << endl;
cout << "Vvedite novoe znacenie dlea etoi koordinati: ";
return m;}
 
int vector::modifc()
{  int m=acces(); if( m )
cin >> p[m-1];
return m; }
 
void vector::print()
{cout << endl << "Koordinati vectora:\n" << endl;
for( int i = 0; i < n; i++ )
{cout << "Coordinata[" << i+1 << "]=" << p[i] << endl;}}
 
long double vector::dist(){
long double s=0;
long double l=0;
for(int i=0;i<n;i++)
s+=(p[i]*p[i]);
l=sqrt(s);
cout<<"\nDlina vectora: "<<l<<endl;
return l;
}
 
long double vector::operator +(vector& L)
{  int i; long double av,max,max1;
max=p[0];max1=p[0];
for(int i=0;i<n;i++)
{
if(max<p[i]){ max=p[i];}
if(max1<L.p[i]){ max1=L.p[i];}
}
cout<<"\nmax V1="<<max<<" max V2="<<max1<<endl;
av=(max+max1)/2;
return av; }
 
 
int main()
 {
 
  int nr1,nr2;
 
 cout<<"\nVvedite koli4estvo koordinat I vector :";
 cin>>nr1;
 vector v1(nr1);
 v1.read();
 v1.print();
 long double ds1=v1.dist();
 
 
 
 cout<<"\nVvedite koli4estvo koordinat II vector :";
 cin>>nr2;
 vector* v2=new vector(nr2);
 v2->read();
 v2->print();
 long double ds2=v2->dist();
 
 if(nr2>nr1)v2->fc(nr2); 
 else  v1.fc(nr1);
 long double a;
 a=v1+*v2;
 cout<<"\nSredneea arfm. mejdu max. coordinatami dvuh vectorov "<<a<<endl<<endl; 
 
 cout<<"\n\nModificatia  1 vector\n";
 
 v1.fc(nr1);
 v1.print();
 v1.modifc();
 v1.print();
 ds1=v1.dist();
 
 
 cout<<"\nModificatia 2 vector\n";
 
 v2->fc(nr2);
 v2->print();
 v2->modifc();
 v2->print();
 ds2=v2->dist();
 
 if(nr2>nr1)v2->fc(nr2); 
 else  v1.fc(nr1);
  
  a=v1+*v2;
 cout<<"Sredneea arfm. posle modificatii mejdu max. coordinatami dvuh vectorov= "<<a<<endl<<endl; 
  
   
 getch();
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2009, 13:21
Ответы с готовыми решениями:

глючит ли VS08?видны приватные члены
у меня классе в приватах есть член а скажем..в меине когда пишу объект. - открывается меню с членами и методами и в меню виден член...

Дружественная функция и приватные члены класса
Здравствуйте, уважаемые форумчане! Подскажите, пожалуйста, можно ли как-то в коде ниже сделать переменные класса приватными, а не...

Непонятна тема (Классы содержащие другие классы, как данные члены )
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include &lt;iostream&gt; class Point { public: void...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2009, 13:21
Помогаю со студенческими работами здесь

Обьекты и классы
Здравствуйте! Изучаю С++. Решил написать а-ля симулятор банкомата для закрепления материала, да вот чтот не срослось =(. Вот текст: ...

Классы и обьекты
Извините, вот возник вопрос с заданием. А именно, как передать конструктору Patient параметры(Фамилия, имя и тд), так чтобы они были в...

Классы и обьекты
Народ покажите плиз как это делается а то пока вьехать не могу((

Классы и обьекты
Написать программу, в которой создаются и разрушаются объекты, определенного пользователем класса. Выполнить исследование вызовов ...

Классы и обьекты в С++
очень прошу помочь написать программу. т.к. в программировании я 0:( Написать программу, в которой создаются и разрушаются объекты,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru