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

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

Войти
Регистрация
Восстановить пароль
 
Joiner27
11 / 11 / 3
Регистрация: 13.11.2010
Сообщений: 65
#1

вектора - C++

01.12.2010, 20:27. Просмотров 272. Ответов 0
Метки нет (Все метки)

помогите разобраться,не получается сложение 2х векторов пишет вектор пустой,а если убрать if в print? то выдает ошибку!

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
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
using namespace std;
// объявление класса
class vect
{  int *v;                         //  вектор (одномер
    int n;                           //  размерность
  public:
    vect();                         //  конструктор без
    vect(int, int*);            //  конструктор с дв
    vect(int a):n(a){v=new int[n];}
    ~vect(){ delete [] v; }                      //  деструктор
    set();                           //  инициализация в
    void print();                //  вывод вектора н
    vect operator+(const vect &) const;   //Сложение
    vect operator-(const vect &) const;//Вычитание
    vect operator*(const vect &); //Умножение вектора на вектор
    vect operator*(const int &); //Умножение скаляра на вектор
    };
vect vect::operator+(const vect &oper) const
{
   vect sum;
   sum.n=n + oper.n;
   return sum;
}
//Перегруженная операция вычитания:
vect vect::operator-(const vect &operand2) const
{
   vect diff;
   diff.n =n - operand2.n;
 
   return diff;
}
//Перегруженная операция умножения:
vect vect::operator*(const vect &operand2)
{
   vect proizv;
   proizv.n = n * operand2.n;
   return proizv;
}
//Перегруженная операция умножения:
vect vect::operator*(const int &oper)
{
   vect proizv;
   proizv.n = n * oper;
   return proizv;
}
// реализация методов класса
vect :: vect() : n(0),v(0){}    //  конструктор
vect :: vect(int nn, int *vv)   //  конструктор с одним параметром
{ n=nn;
   v=new int[n];
   for(int i=0; i<n; i++)
   *(v+i)=*(vv+i);
}
vect :: set()                           //  инициализация вектора
{  if(!v)
    { cout<<"не выделена память под вектор" << endl;
       cout <<"введите размерность вектора" << endl;
      cin >> n;
       v=new int[n];
    }
    for(int i=0; i<n; i++){
    cout<<"Введите "<< i+1 <<"член вектора"<<endl;
    cin>>*(v+i);}
    return 0;
}
void vect :: print()                        //  вывод вектора на экран
{  if(!v)
    { cout <<" вектор пустой"<<endl;
       return ;}
    cout<<"Печать вектора"<<endl;
    for(int i=0; i<n; i++){
    cout<<i+1<<" член: ";
    cout<<*(v+i)<<endl;}
}
 
#pragma argsused
int main(int argc, char* argv[])
{ vect v1(3),v2(3),v3;
   int ms[]={2};
   int scal=8;
   //vect v2(sizeof(ms),ms);
   v1.set();
   v2.set();
   //v1.print();
   //v2.print();
   v3=v1+v2;
 
   v3.print();
   system("pause");
    return 0;
 
 }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2010, 20:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вектора (C++):

Найти сколько элементов первого вектора совпадают с элементами второго вектора - C++
#include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;vector&gt; #include &lt;set&gt; using namespace std; void main() { ...

Дан список, элементы которого являются координатами вектора. Найти длину вектора - C++
1. Дан список, элементы которого являются координатами вектора в n-мерном пространстве. Найти длину вектора.

Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) - C++
Ребята помогите пожалуйста с задачкой. Я сам не шарю в C++, но в этом семестре появился этот предмет! И завтра его надо будет сдать :( Буду...

Ошибка с итераторами для целочисленного вектора и вектора структуры - C++
Пытаюсь разобраться с векторами. Для динамической работы с памятью вещь, вроде, замечательная и удобная. Только необходимо использовать...

STL. Функция, которая будет искать элементы большее среднего арифметического вектора и удалять их из вектора - C++
у меня есть вектор, помогите пожалуйста дописать функцию, которая будет искать элементы большее среднего арифметического вектора и удалять...

Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А - C++
Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А на начало, а...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2010, 20:27
Привет! Вот еще темы с ответами:

Составить главную программу и функцию. Для данного вектора А(М) найти количество неповторяющихся элементов вектора - C++
Здравствуйте. Буду очень благодарен,если кто нибудь напишет два кода к этим задачам. Спасибо за внимание. Задача 1. Составить...

Заданы три вектора a(n), b(m), c(k). Вывести наименование вектора, в котором максимальна сумма четных элементов, стоящих на нечетных местах - C++
Заданы три вектора a(n), b(m), c(k). Вывести наименование вектора, в котором максимальна сумма четных элементов, стоящих на нечетных...

Изменение вектора. Наибольший элемент вектора - C++
Добрый день, нужна оценка кода. Пропустил занятия, делал по теории, опирался на массивы. Скажите, правильно ли реализовано? Создать...

Переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае - C++
Условие задачи: переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае. Исходные...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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