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

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

Войти
Регистрация
Восстановить пароль
 
 
EdNaron
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 18
#1

Векторы - C++

13.12.2013, 22:06. Просмотров 995. Ответов 25
Метки нет (Все метки)

Добрый день, помогите пожалуйста решить задачку, в моей программе могут быть ошибки, т.к. в материале я полный 0.
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
/*IV. ГђГҐГ*ëèçîâГ*ГІГј Гў âèäå ÊËÀÑÑÀ Г*Г*áîð ïîäïðîãðГ*ìì äëÿ âûïîëГ*ГҐГ*ГЁГї 
ñëåäóþùèõ îïåðГ*öèé Г*Г*Г¤ âåêòîðГ*ìè:
1) ñëîæåГ*ГЁГҐ;
2) âû÷èòГ*Г*ГЁГҐ;
3) Г±ГЄГ*ëÿðГ*îå ГіГ¬Г*îæåГ*ГЁГҐ âåêòîðîâ;
4) ГіГ¬Г*îæåГ*ГЁГҐ âåêòîðГ* Г*Г* ÷èñëî;
5) äëèГ*Г* âåêòîðГ*.
Âåêòîð ïðåäñòГ*ГўГЁГІГј ñëåäóþùèì òèïîì:
struct Vector {double X, Y;};
Èñïîëüçóÿ ýòîò ГЄГ«Г*Г±Г±, ðåøèòü Г§Г*Г¤Г*Г·ГЁ:
1. Г„Г*Г* Г¬Г*Г±Г±ГЁГў A - Г¬Г*Г±Г±ГЁГў âåêòîðîâ. ÎòñîðòèðîâГ*ГІГј ГҐГЈГ® Гў ïîðÿäêå óáûâГ*Г*ГЁГї äëèГ* âåêòîðîâ.
2. Г‘ ïîìîùüþ Г¤Г*ГІГ·ГЁГЄГ* ñëó÷Г*Г©Г*ûõ Г·ГЁГ±ГҐГ« Г±ГЈГҐГ*åðèðîâГ*ГІГј 2N öåëûõ Г·ГЁГ±ГҐГ«. N ГЇГ*Г° 
ГЅГІГЁГµ Г·ГЁГ±ГҐГ« Г§Г*Г¤Г*ГѕГІ N òî÷åê êîîðäèГ*Г*ГІГ*îé ïëîñêîñòè. Âûâåñòè Г*îìåðГ* òðîéêè òî÷åê,
 ГЄГ®ГІГ®Г°Г»ГҐ ÿâëÿþòñÿ êîîðäèГ*Г*ГІГ*ìè âåðøèГ* òðåóãîëüГ*ГЁГЄГ* Г± Г*Г*èáîëüøèì óãëîì.
*/
#include <iostream>
#include <cmath>
using namespace std;
class Vectors 
{
      public:
   struct Vec {double x, y;};
   void Sum () //ñëîæåГ*ГЁГҐ
  { struct Sum {double x, y;};
   Sum.x=Vec_a.x + Vec_b.x;
   Sum.y=Vec_b.y + Vec_b.y;}
  // cout<<"ÑóììГ* = "<< Sum; //ïðîâåðêГ*
  
   void Sub () //âû÷èòГ*Г*ГЁГҐ
  { struct Sub {double x, y;};
   Sub.x=Vec_a.x - Vec_b.x;
   Sub.y=Vec_b.y - Vec_b.y;}
   
   void Scale () //Г±ГЄГ*ëÿðГ*îå ГіГ¬Г*îæåГ*ГЁГҐ
   {struct Scale {double x, y;};
   Scale.x=Vec_a.x * Vec_b.x;
   Scale.y=Vec_b.y * Vec_b.y;}
   
   void Umnoj () //ГіГ¬Г*îæåГ*ГЁГҐ âåêòîðГ* Г*Г* ÷èñëî t
   {struct Umnoj {double x, y;};
   Umnoj.x=Vec_a.x * t;
   Umnoj.x=Vec_a.y * t;}
   
   void Dlina () //Г*Г*õîæäГ*ГЁГҐ äëèГ*Г*Г»
   {double Dlina;
   Dlina=sqrt(pow(Vec_a.x,2)+ pow(Vec_a.y,2))}; //ГЇГ® ôîðìóëå = êîðåГ*Гј(Г*^2+b^2)
  
  
  /*Г‡Г*Г¤Г*Г·Г* 1 - ÑîðòèðîâêГ* ГЇГ® óáûâГ*Г*ГЁГѕ äëèГ*
  void Sort()
  for (int i=1; i<n; i++)
  {????????????????????????????
  */
  
  /*Г‡Г*Г¤Г*Г·Г* 2 - 
  */
}
int main()
{int n; 
    system("chcp 1251");
    cout<<"Ââåäèòå êîëè÷åñòâî ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ*";
    cin>>n;
    struct Vector Vec; //îïðåäåëåГ*ГЁГҐ ñòðóêòóðГ*îé ïåðåìåГ*Г*îé
   // struct vector a = { 3, 5 }; //ïðèìåð âåêòîðГ* Г* (3,5)
    cout<<"Ââåäèòå êîîðäèГ*Г*ГІГі x="; cin>>Vec_a.x; //Ââîäèì Г§Г*Г*Г·ГҐГ*ГЁГҐ Гµ äëÿ âåêòîðГ* Г*
    cout<<endl;
    cout<<"Ââåäèòå êîîðäèГ*Г*ГІГі y="; cin>>Vec_a.y; //Ââîäèì Г§Г*Г*Г·ГҐГ*ГЁГҐ Гі äëÿ âåêòîðГ* Г*
    cout << "Vec a  = " << Vec_a.x<<" "<<Vec_a.y //âûâîä âåêòîðГ* a Гў âèäå Vec a = 4 ; 2
    Cout<<endl;
    struct vector b = { 2, 3 };
    cout<<"Ââåäèòå êîîðäèГ*Г*ГІГі x="; cin>>Vec_b.x; //Ââîäèì Г§Г*Г*Г·ГҐГ*ГЁГҐ Гµ äëÿ âåêòîðГ* b
    cout<<endl;
    cout<<"Ââåäèòå êîîðäèГ*Г*ГІГі y="; cin>>Vec_b.y; //Ââîäèì Г§Г*Г*Г·ГҐГ*ГЁГҐ y äëÿ âåêòîðГ* b
    cout << "Vec b  = " << Vec_b.x<<" ; "<<Vec_b.y << endl; //âûâîä âåêòîðГ* b Гў âèäå Vec b = -2 ; 5
    system("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2013, 22:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Векторы (C++):

Векторы - C++
Здравствуйте. Использую векторы типа vector&lt;string&gt; sentence;. Описываю их в классе в private объявляю vector&lt;string&gt; sentence;/ В public...

Векторы - C++
Доброго времени суток! Очень нужна помощь в двух задачах. Заранее спасибо! 1. Дан целочисленный вектор С(6). Найти сумму тех его...

Векторы!!! - C++
Как найти произведение двух векторов и записать это в рабочем варианте допустим у меня 1 вектор(5,6,7) и второй (7,8,9) мне что нужно...

Векторы - C++
Определите полусумму длин двух векторов А(1,5; 2,5; -0,3) и В(-11,7; -9,3; 2,5; 3,7; -1,2). Вычислите, длины вектора оформив в виде функции.

Векторы - C++
Изучаю сейчас библиотеку vector. #include &lt;vector&gt; int main() { std::vector&lt;int&gt; v(2); // Создаем вектор, состоящий из двух...

векторы С++ - C++
С текстового файла считать действительные числа в вектор. С вектора удалить все нечетные положительные числа. Образованные элементы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
17.12.2013, 10:52 #16
И обратите внимание, что внутренний цикл можно начать не с нуля, а с j,
Т.к. пузырек всплывает
EdNaron
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 18
17.12.2013, 10:53  [ТС] #17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int i, j; 
 
    for( j=0; j<n; j++) //ïåðåìåùГ*ГҐГІ òîëüêî ïåðâûé ýëåìåГ*ГІ
     { 
         for (i=0; i<n-1; i++)
            {
                   min=Vec_a.DlinaM(Vec_a.vecM[i]);
                   max=Vec_a.DlinaM(Vec_a.vecM[i+1]);
                   {  
                   if(min<max)  
                        {  
                         k1=Vec_a.vecM[i].X; 
                         k2=Vec_a.vecM[i].Y;
                         Vec_a.vecM[i].X = Vec_a.vecM[i+1].X;
                         Vec_a.vecM[i].Y = Vec_a.vecM[i+1].Y;
                         Vec_a.vecM[i+1].X=k1;
                         Vec_a.vecM[i+1].Y=k2;
                        } 
                   }
                   
            }     
     }
Не получается, все перепробовал, может я чего то не понимаю? индексом j мы заставляем выполниться цикл с индеком i - n-раз, в цикле с i мы выполняем счет и перемещение. в условии if описывается условие перемещения, вопрос, если я ему сказал крутить цикл n раз, почему он крутит его только 1н?
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
17.12.2013, 10:55 #18
внешний цикл идет по ДРУГОЙ переменной (не по i):
C++
1
2
3
4
for( j=0; j<n; j++)
{
   for (i=j; i<n-1; i++)
   {
EdNaron
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 18
17.12.2013, 11:50  [ТС] #19
я опечатался, простите, сразу же исправил. по циклу все так же не сортирует
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int i, j; 
 
    for( j=0; j<n; j++) //ïåðåìåùГ*ГҐГІ òîëüêî ïåðâûé ýëåìåГ*ГІ
     { 
         for (i=j; i<n-1; i++)
            {
                   min=Vec_a.DlinaM(Vec_a.vecM[i]);
                   max=Vec_a.DlinaM(Vec_a.vecM[i+1]);
                   {  
                   if(min<max)  
                        {  
                         k1=Vec_a.vecM[i].X; 
                         k2=Vec_a.vecM[i].Y;
                         Vec_a.vecM[i].X = Vec_a.vecM[i+1].X;
                         Vec_a.vecM[i].Y = Vec_a.vecM[i+1].Y;
                         Vec_a.vecM[i+1].X=k1;
                         Vec_a.vecM[i+1].Y=k2;
                        } 
                   }
                   
            }     
     }
Добавлено через 53 минуты
Извините за назойливость, но я не понимаю, реализовал функцию сортировки через функцию в классе, в качестве функции использовал шаблон функций сортировки из раздела для новичков, вот код, и он по прежнему перекидывает только один элемент
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
#include <iostream>
#include <cmath>
using namespace std;
class Vector 
{
public:
    struct VEC 
    {double X,Y;};
   VEC vec;
   VEC vecM[30];
   Vector(double x,double y){vec.X=x; vec.Y=y;} // конструктор имеет такое же имя что и класс
    
  /*void Sort (VEC vecM)
  {    struct VEC t;
       struct VEC end;
       int i;
       t=vecM[i];
        if(Dlina(vecM[i])< Dlina(vecM[i+1])
        vecM[i]=vecM[i+1];
        vecM[i+1]=t;
} */
  
   Vector Sum (Vector v) //сложение
   { 
        Vector t(*this);
        t.vec.X+=v.vec.X;
        t.vec.Y+=v.vec.Y;
        return t;
    }
    
   Vector Sub (Vector v) //вычитание
   { 
        Vector t(*this);
        t.vec.X-=v.vec.X;
        t.vec.Y-=v.vec.Y;
        return t;
    } 
       
  double Scale (Vector v) //скалярное умножение
   {
           return vec.X*v.vec.X+vec.Y*v.vec.Y;
   }
   
  double ScaleA (Vector v, int k) //умножение вектора на число
   {
        return (vec.X*=k),(vec.Y*=k);
   } 
 
  
   
    double Dlina (Vector v) //длина вектора
   {
           return sqrt(pow(v.vec.X,2) + pow(v.vec.Y,2));
   }      
   
   double DlinaM (VEC VecM) //длина вектора
   {int i;
           return sqrt(pow(vecM[i].X,2) + pow(vecM[i].Y,2));
   }      
   
   void Sort(VEC VecM, int n)
{
 VEC tmp;
 
    for(int i = 0; i < n - 1; ++i) // i - номер прохода
    {            
        for(int j = i; j < n - 1; ++j) // внутренний цикл прохода
        {     
            if (DlinaM(vecM[j+1]) < DlinaM(vecM[j])) 
            {
                tmp = vecM[j+1]; 
                vecM[j+1] = vecM[j]; 
                vecM[j] = tmp;
            }
        }
    }
}
 };
int main()
{double x,kx,y,ky;
    int n,a;
    system("chcp 1251");
    cout<<"Введите x="; 
    cin>>x; //Вводим значение х для вектора
    cout<<"Введите y="; 
    cin>>y; //Вводим значение у для вектора
    Vector Vec_a(x,y); //определение структурной переменной Vec_a c Vec_a.X=x Vec_a.Y=y
    cout << "Vec a  = (" << Vec_a.vec.X<<";"<<Vec_a.vec.Y<<")" ;//вывод вектора 
    cout<<endl;
    cout<<"Введите x="; cin>>x; kx=x; //Вводим значение х для вектора
    cout<<"Введите y="; cin>>y; ky=y;//Вводим значение у для вектора
    Vector Vec_b(x,y); //определение структурной переменной Vec_b c Vec_b.X=x Vec_b.Y=y
    cout << "Vec b  = (" << Vec_b.vec.X<<";"<<Vec_b.vec.Y<<")"; //вывод вектора a в виде Vec a = 4 
    
 
    Vec_b=Vec_a.Sum(Vec_b); // сложение
    cout<<endl;
    cout << "Сумма векторов = (" << Vec_b.vec.X<<";"<<Vec_b.vec.Y<<")" ;//вывод вектора a в виде Vec a = 4 
    
    
    Vec_b.vec.X=kx; Vec_b.vec.Y=ky;
    Vec_b=Vec_a.Sub(Vec_b); // вычитание
    cout<<endl;
    cout << "Разность векторов = (" << Vec_b.vec.X<<";"<<Vec_b.vec.Y<<")" ;//вывод вектора a в виде Vec a = 4 
    cout<<endl;
    
    Vec_b.vec.X=kx; Vec_b.vec.Y=ky;
    x=Vec_a.Scale(Vec_b); // скалярное умножение векторов
    cout<<"Скалярное произведение = "<<x<<endl;
    
    x=Vec_a.Dlina(Vec_a); // Длина вектора
    cout<<"Длинна вектора (a) ="<<x<<endl;
  
    cout<<"Введите число для умножения = "; cin>>a;
    Vec_a.ScaleA(Vec_a, a); //произведение вектора а и числа
    cout << "Умножение на число (a) = (" << Vec_a.vec.X<<";"<<Vec_a.vec.Y<<")" ;
    cout<<endl;
    
    cout<<"Задача №1: Дан массив A - массив векторов. Отсортировать его в порядке убывания длин векторов. \n";
    cout<<"Введите количество элементов = "; cin>>n;
    for (int i=0; i<n; i++) //Заполнение массива
        {cout<<"Введите x="; cin>>Vec_a.vecM[i].X;
         cout<<"Введите y="; cin>>Vec_a.vecM[i].Y;
         } 
    cout<<endl;
    cout<<"Исходный массив: ";
    for (int i=0; i<n; i++) //Вывод массива
        {cout << "(" << Vec_a.vecM[i].X<<";"<<Vec_a.vecM[i].Y<<")  " ;}
    cout<<endl;    
    
double k1, k2, d1, d2, min, max;
int i, j; 
 
Vec_a.Sort(Vec_a.vecM[i],n);
 
for ( i=0; i<n; i++) //Вывод массива
        {cout << "(" << Vec_a.vecM[i].X<<";"<<Vec_a.vecM[i].Y<<")  " ;}
    cout<<endl;       
 
         
    system("PAUSE");
    return 0;
}
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
17.12.2013, 12:14 #20
В функцию Sort надо передавать параметр не по значению, а по ссылке,
иначе все операции выполняются над копией.
C++
1
  void Sort(VEC& VecM, int n)
Добавлено через 3 минуты
И еще. А Вы понимаете в принципе, что Вы сортируете?
EdNaron
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 18
17.12.2013, 12:20  [ТС] #21
спасибо, но при сортировки он передает мусор из памяти какой то... при комбинации 5 элементов
Исходный массив: (5;5) (1;1) (2;2) (3;3) (4;4)
(1;1) (2;2) (3;3) (4;4) (-5.65934e-021;5)

Добавлено через 46 секунд
Цитата Сообщение от EdNaron Посмотреть сообщение
спасибо, но при сортировки он передает мусор из памяти какой то... при комбинации 5 элементов
Исходный массив: (5;5) (1;1) (2;2) (3;3) (4;4)
(1;1) (2;2) (3;3) (4;4) (-5.65934e-021;5)
да, массив типа VEC
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
17.12.2013, 12:50 #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
#include <iostream>
#include <cmath>
using namespace std;
struct VEC 
{
   double X,Y;
};
 
class Vector 
{
private:
    VEC vec;
public:
   Vector(double x=0,double y=0){vec.X=x; vec.Y=y;}
   void Set(double x,double y){vec.X=x; vec.Y=y;} 
   
   Vector Sum (Vector v) //сложение
   { 
        Vector t(*this);
        t.vec.X+=v.vec.X;
        t.vec.Y+=v.vec.Y;
        return t;
    }
    
   Vector Sub (Vector v) //вычитание
   { 
        Vector t(*this);
        t.vec.X-=v.vec.X;
        t.vec.Y-=v.vec.Y;
        return t;
    } 
       
  double Scale (Vector v) //скалярное умножение
   {
           return vec.X*v.vec.X+vec.Y*v.vec.Y;
   }
   
  void ScaleA (int k) //умножение вектора на число
   {
        vec.X*=k;
        vec.Y*=k;
   } 
    double Dlina () //длина вектора
   {
           return sqrt(vec.X*vec.X+vec.Y*vec.Y);
   }    
    void Print()
    {
        cout << "(" << vec.X<<";"<<vec.Y<<")  ";
    }
 
   friend void Sort(Vector *Vec, int n); // не является членом класса Vector сортирует массив векторов Vec[].
 
 };
void Sort(Vector *Vec, int n)
{
    Vector tmp;
    for(int i = 0; i < n - 1; ++i) // i - номер прохода
    {            
        for(int j = i; j < n - 1; ++j) // внутренний цикл прохода
        {     
            if( Vec[j+1].Dlina() < Vec[j].Dlina()) 
            {
                tmp.vec = Vec[j+1].vec; 
                Vec[j+1].vec = Vec[j].vec; 
                Vec[j].vec = tmp.vec;
            }
        }
    }
}
int main()
{
    double x,kx,y,ky;
    int n,a;
    setlocale(LC_ALL,"Rus");
    cout<<"Введите x="; 
    cin>>x; //Вводим значение х для вектора
    cout<<"Введите y="; 
    cin>>y; //Вводим значение у для вектора
    Vector Vec_a(x,y); //определение структурной переменной Vec_a c Vec_a.X=x Vec_a.Y=y
    Vec_a.Print();
    //cout << "Vec a  = (" << Vec_a.vec.X<<";"<<Vec_a.vec.Y<<")" ;//вывод вектора 
    cout<<endl;
    cout<<"Введите x="; cin>>x; kx=x; //Вводим значение х для вектора
    cout<<"Введите y="; cin>>y; ky=y;//Вводим значение у для вектора
    Vector Vec_b(x,y); //определение структурной переменной Vec_b c Vec_b.X=x Vec_b.Y=y
    cout << "Vec b  = ";
    Vec_b.Print();
    //cout << "Vec b  = (" << Vec_b.vec.X<<";"<<Vec_b.vec.Y<<")"; //вывод вектора a в виде Vec a = 4 
    Vec_b=Vec_a.Sum(Vec_b); // сложение
    cout<<endl;
    cout << "Сумма векторов = ";
    Vec_b.Print();
    //(" << Vec_b.vec.X<<";"<<Vec_b.vec.Y<<")" ;//вывод вектора a в виде Vec a = 4 
    Vec_b=Vec_a.Sub(Vec_b); // вычитание
    cout<<endl;
    cout << "Разность векторов = ";
    Vec_b.Print();
    //(" << Vec_b.vec.X<<";"<<Vec_b.vec.Y<<")" ;//вывод вектора a в виде Vec a = 4 
    cout<<endl;
    Vec_b.Set(kx,ky);
    x=Vec_a.Scale(Vec_b); // скалярное умножение векторов
    cout<<"Скалярное произведение = "<<x<<endl;
    x=Vec_a.Dlina(); // Длина вектора
    cout<<"Длинна вектора (a) ="<<x<<endl;
    cout<<"Введите число для умножения = "; cin>>a;
    Vec_a.ScaleA(a); //произведение вектора а и числа
    cout << "Умножение на число (a) = ";
    Vec_a.Print();
    //(" << Vec_a.vec.X<<";"<<Vec_a.vec.Y<<")" ;
    cout<<endl;
    
    cout<<"Задача №1: Дан массив A - массив векторов. Отсортировать его в порядке убывания длин векторов. \n";
    cout<<"Введите количество элементов = "; cin>>n;
    Vector* vecM=new Vector[n];
    for (int i=0; i<n; i++) //Заполнение массива
    {
        double x,y;
        cout<<"Введите x="; cin>>x;
         cout<<"Введите y="; cin>>y;
         vecM[i].Set(x,y);
    } 
    cout<<endl;
    cout<<"Исходный массив: ";
    for (int i=0; i<n; i++) //Вывод массива
        vecM[i].Print();
    //{cout << "(" << vecM[i].vec.X<<";"<<Vec_a.vecM[i].Y<<")  " ;}
    cout<<endl;    
    
   Sort(vecM,n);
   cout<<"Отсортированный массив: ";
    for (int i=0; i<n; i++) //Вывод массива
        vecM[i].Print();
    //    {cout << "(" << Vec_a.vecM[i].X<<";"<<Vec_a.vecM[i].Y<<")  " ;}
    cout<<endl;       
    delete[] vecM;
         
    system("PAUSE");
    return 0;
}
Теперь понятно?
1. Сортировать надо массив переменных типа Vector, а не какой-то мистический VEC.
2. Методы типа Dlina используют объект, который вызвал этот метод.
3. Данные класса должны быть защищены (private).
EdNaron
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 18
17.12.2013, 12:51  [ТС] #23
Спасибо, я понял свою ошибку, программу все равно придется переделывать
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
17.12.2013, 13:06 #24
Автор, а вы там вообще проходили классы? Может твою задачу следует решать именно без каких-либо классов - со структурой?
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
17.12.2013, 13:13 #25
цитирую автора
Цитата Сообщение от EdNaron Посмотреть сообщение
/*IV. Реализовать в виде КЛАССА набор подпрограмм для выполнения
EdNaron
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 18
17.12.2013, 13:24  [ТС] #26
Мы проходили структуры и классы, но именно их я и не понял. Написать простую программу без использования структур и классов я могу, а вот со структурой в классе, в этом я уже полный 0. По примеру из ответа zss (Спасибо ему огромное) я реализовал оставшуюся часть функций, которые были представлены в качестве примера. И по аналогии и моими небольшими познаниями в структуре попытался написать массив. Начал читать книжку Дейтела Х, Дейтела П. "Как программировать на C++", но пока прочитал лишь несколько глав. Исходя из этого составил малорабочую программу.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 13:24
Привет! Вот еще темы с ответами:

Векторы в с++ - C++
Привет мостера помогите решить задания. Реализовать структуру данных вектор, содержащий следующие методы: добавить...

Векторы! - C++
Введите вектор и найдите его норму: сумму абсолютных величин координат. Что значит сумму абсолютных величин координат. объясните сам...

Векторы - C++
Добрый день форумчане! обнаружил что вектор можно объявить следующим образом : vector&lt;MyClass *,MyClass2 *&gt; vector_name; ...

Векторы - C++
Создаю вектор vector&lt;vector&lt;Point&gt;&gt; contours; После чего мне нужно создать аналогичный простой массив Array, элемент которого был бы...


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

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

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