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

Описать класс одномерный массив (вектор) целых чисел. Перегрузить следующую операцию: > уменьшить элементы вектора на заданное значение - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Если какие-то элементы массивов одинаковы, то вывести номера этих элементов http://www.cyberforum.ru/cpp-beginners/thread739421.html
Здравствуйте! У меня такая задача, даны две массивы, если какие то элементы этих массивов одинаковы то вывести номера этих элементов. Вот ни как не могу решить эту задачу. Подскажите пожалуйста как решить эту задачу. Добавлено через 43 секунды за ранее всем спасибо!)
C++ Узнать какой день недели 1 января введенного года, определить високосность и посчитать количество выходных дней в этом году на Borand C++ http://www.cyberforum.ru/cpp-beginners/thread739418.html
fstream (удалить файл каким то методом и переименовать) C++
Здравствуйте. Возник вопрос. В инете ничего не нашел толкового так как английский хромой. fstream f("txt.txt",ios::in); можно ли удалить этот файл каким то методом и переименовать. вроде на обычных файлах FILE* такое реализуемо. А что насчет потоков?
C++ узнать какой день недели 1 января введенного года, определить високосность и посчитать количество выходных дней в этом году
программку надо написать на Borland C++...
C++ Многомерный массив и массив массивов http://www.cyberforum.ru/cpp-beginners/thread739403.html
На паскале это синонимы. Например, всё валидно: var a:arrayof arrayof array of real; {объявлен одномерный массив одномерных массивов одномерных массивов реалов} begin a:=2; {А обращаемся к нему как к двумерному массиву одномерных массивов реалов} a:=2; {А здесь как к одномерном массиву двумерных массивов реалов} a:=a; {И здесь как к двумерному массиву одномерных...
C++ буферная память Здравствуйте!помогите устранить проблему. В данной функции есть два буфера: bufin и bufout. в буфер bufin считывается информация из файла размером 3 мегабайта, затем данная информация разбивается на блоки размером 160000, после этого каждый шифруется и записывается в буфер bufout, но поскольку размер последнего блока меньше 160000 то из-за этого во время выполнения программы выскакивает ошибка.... подробнее

Показать сообщение отдельно
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
22.12.2012, 00:47     Описать класс одномерный массив (вектор) целых чисел. Перегрузить следующую операцию: > уменьшить элементы вектора на заданное значение
так пойдёт?
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
//#pragma argsused                  // директивая которая уберает предупреджения типа какой-то параметр не испульзуется в такой-то функции
                              // вроде есть только у борланда (это комплиятор такой)
#include <iostream>       // надеюсь это не надо объяснять
 
class Vector        // объявляем класс Vector
{
      private:
              int *vec;
              int size;
      public:
             Vector();
             Vector(int mas[], int n);
             ~Vector();
             
             // тут пошло самое интересное перегрузка операторов :)
             // пока не перегрузишь самостоятельно несколько раз не поймешь до конца что к чему
             friend std::ostream & operator<<(std::ostream & os, const Vector & b);
             Vector & operator>(int n);
};
 //#include "Vector" // закоментируй это. это были три файла Vector.h, Vector.cpp и main.cpp
                     // поэтому несколько "инклудов"
  
 Vector::Vector()  // конструтор по умолчанию, т.е. если мы просто создадим вектор без аргументов
 {                 // то у нас создается массив с одним элементом = 0
      size = 1;
      vec = new int[1];
      vec[0]=0;
 }
         
 Vector::Vector(int mas[],const int n) // конструктор с аргументами
 {
      size = n;
      vec = new int[n]; // выделяем память под массив на n элементов
      for(int i=0; i<n; i++)
      vec[i]=mas[i];    // и присваеваем каждому его элементу соотвествующий элемент переданного в конструктор массива 
 }
            
 Vector::~Vector()      // в деструкторе возвращаем память обратно в кучу
 {
          delete [] vec;      
 }
 
 std::ostream & operator<<(std::ostream & os, const Vector & b)  // перегрузка оператора << 
 {  // передаём по ссылке объект os класса ostream и объект b класса Vector
              for(int i=0; i<b.size; i++)
              os << "vector[" << i << "]:" << b.vec[i] << std::endl;  // делаем красивый вывод значения для этого объекта
     return os;
 }
        
Vector & Vector::operator>(int n)  // перегрузка оператора >
 {
        for(int i=0; i<size; i++) // пробегаем по всему массиву 
        vec[i]-=n;                // и уменьшаем каждый член этого массива на n
        
        return *this;
 }
//#include <iostream>
//#include "Vector.h"
 
using std::cout;  // используем чтобы вместе std::cout можно было бы писать короче
using std::cin;   // cout cin endl
using std::endl;
 
int main()
{
    int mas[5] = {1,2,3,4,5};  // создаём массив
    
    Vector i(mas,5);  // забиваем массив mas в вектор i
    
    cout << i;        // выводим этот вектор через перегруженный оператор <<
    cout << endl;
    
    cout << (i>5);    // выводим вектор с уменьшенными значениями
    cout << endl;
    
    i>-5;           // "уменьшаем" на -5
    
    cout << i;     // снова выводим
    cout << endl;
 
    system("pause");
    
    return 0;
 
}
 
Текущее время: 19:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru