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

Сложение двух векторов и запись результата в третий вектор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамически http://www.cyberforum.ru/cpp-beginners/thread155674.html
Что обозначает слово динамически в таких словах: динамический массив, динамическое выделение памяти?
C++ Подсчёт количества слов в строке Помогите разобраться в проблемке. Программа должна считывать текст из файла по слову и копировать его в другой. При этом счётчик их считает. Когда в файле одна строка всё норм, но если больше то выходит: "последнее слово первой строки"/n" первое слово второй" И происходит только одна итерация. Как добавить условие что бы и /n тоже считался разделителем, не только пробел. #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread155672.html
Есть пример.Поиск ошибки.dev-C++ C++
Вечер добрый.Как правильно определить методы,нужно ли вызывать для массива name деструктор в операторе присваивания?При компиляции выдаёт ошибку на функции ShowCow() was not declared in this scope на все три члена данных. //cow.h #ifndef COW_H_ #define COW_H_ class Cow { char name; char * hobby; double weight;
перегрузка оператора = C++
как реализавать функцию перегрузки оператора = в классах Cd и Classic? #include <cstring> #ifndef _ABCD_H_ #define _ABCD_H_ class ABCd { private: char performers; char label; int selections;
C++ С чего начать изучение С++ http://www.cyberforum.ru/cpp-beginners/thread155650.html
Хочу изучить С++, пожалуйста подскажите книгу понятную для чайников, и компелятр.
C++ Удалит ли delete[] после измения типа указателя ... double *pd = new double; char *pc = (char*)pd; delete pc; ... Меня интерисует что сделает delete pc? Спасибо. подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2807 / 1583 / 248
Регистрация: 03.05.2010
Сообщений: 3,691
25.07.2010, 23:05     Сложение двух векторов и запись результата в третий вектор
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
/////////////////////////////////////////////////////////////////////////
//  Сложение векторов.
/////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <functional>
/////////////////////////////////////////////////////////////////////////
typedef float                      T_float_elem;
typedef std::vector<T_float_elem>  T_float_nums;
typedef std::string                T_str;
/////////////////////////////////////////////////////////////////////////
T_float_nums  input_float_nums(const T_str&  vect_name, int vect_size)
{
    struct T_input_num
    {
        T_str  name_;
        int    count_;
        //---------------------------------------------------------------
        T_input_num(T_str  name) : name_(name), count_(0)
        {};
        //---------------------------------------------------------------
        void operator() (T_float_elem&  elem)
        {
            std::cout << name_
                      << '['
                      << ++count_
                      << ']'
                      << " = ";
            std::cin >> elem;        
        }
    };
    T_float_nums  float_nums(vect_size);
    std::for_each(float_nums.begin(), float_nums.end(), T_input_num(vect_name));
    return  float_nums;
}
/////////////////////////////////////////////////////////////////////////
T_float_nums  operator+ (const T_float_nums& v1, const T_float_nums& v2)
{ 
    int  min_size = std::min(v1.size(), v2.size());
    T_float_nums  v_res(min_size);
    std::transform(v1.begin(), v1.begin() + min_size, 
                   v2.begin(), v_res.begin(), std::plus<T_float_elem>());
    return v_res;
}
/////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Введите размерность векторов: ";
    int vect_size;
    std::cin >> vect_size;
    T_float_nums  V1 = input_float_nums("V1", vect_size);
    std::cout << std::endl;
    T_float_nums  V2 = input_float_nums("V2", vect_size);
    T_float_nums  V_sum = V1 + V2;
    std::cout << std::endl
              << "Сумма векторов: "
              << std::endl;
    std::copy(V_sum.begin(), V_sum.end(), 
              std::ostream_iterator<T_float_elem>(std::cout, "\n"));
    std::cout << std::endl;
    return 0;
}
 
Текущее время: 17:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru