Форум программистов и сисадминов CyberForum.ru
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум Форум программистов > Форум C++ > Форум С++ для начинающих
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Старый 08.03.2010, 13:15   #1
kurban_ufa
Новичок
 
Регистрация: 08.03.2010
Сообщений: 9
Репутация: 1 (1)
вычисление суммы двух векторов / С++ для начинающих

Помогите с задачей: Заданы k векторов X1, X2,…, Xk. Найти их сумму X1+ X2+… + Xk.
Функция:
вычисление суммы двух векторов.
Старый 08.03.2010, 17:19   #2
Nameless One
Форумчанин
Эксперт C++
 
Аватар для Nameless One
 
Регистрация: 08.02.2010
Сообщений: 6,978
Репутация: 5387 (3198)
Лучшие ответы: 134
вычисление суммы двух векторов

Вот для вектора типа int
Код 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
#include <iostream>
 
void display(const int* vector, const size_t size)
{
    for(size_t i=0; i<size; ++i, std::cout << std::endl)
        std::cout << vector[i];
}
 
int* sum(int* v_result, const int* v1, const int* v2, const size_t size)
{
    for(size_t i=0; i<size; ++i)
        v_result[i]=v1[i]+v2[i];
    return v_result;
}
 
void main(void)
{
    const size_t max=5;
    int v1[max]={1, 2, 3, 4, 5}, v2[max]={10, 20, 30, 40, 50}, v3[max];
    sum(v3, v1, v2, max);
    std::cout << "Vector v1:" << std::endl;
    display(v1, max);
    std::cout << "Vector v2:" << std::endl;
    display(v2, max);
    std::cout << "Resulting vector:" << std::endl;
    display(v3, max);
    system("pause");
}
Добавлено через 8 минут
вот пример с шаблонами
Код 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
#include <iostream>
 
template<typename T>
void display(const T* vector, const size_t size)
{
    for(size_t i=0; i<size; ++i, std::cout << std::endl)
        std::cout << vector[i];
}
template<typename T>
T* sum(T* v_result, const T* v1, const T* v2, const size_t size)
{
    for(size_t i=0; i<size; ++i)
        v_result[i]=v1[i]+v2[i];
    return v_result;
}
 
void main(void)
{
    const size_t max=5;
    double v1[max]={-1.6, 2, 3, -4.5, 5}, v2[max]={10, -20.15, -30.33, 40, -5.6}, v3[max];
    sum(v3, v1, v2, max);
    std::cout << "Vector v1:" << std::endl;
    display(v1, max);
    std::cout << "Vector v2:" << std::endl;
    display(v2, max);
    std::cout << "Resulting vector:" << std::endl;
    display(v3, max);
    system("pause");
}
Другие темы раздела Форум начинающих программистов C++. Вопросы начинающих программистов по С++. Помощь студентам и школьникам в решении задач.
C++ Указатель на потомка в базовом классе.
Мне нужно создать в базовом классе массив указателей на потомки этого класса. Помогите - как это сделать?
C++ писать прогу без компилятора?
как сделать?с помощью нотпада
Старый 08.03.2010, 20:13  [ТС]   #3
kurban_ufa
Новичок
 
Регистрация: 08.03.2010
Сообщений: 9
Репутация: 1 (1)
вычисление суммы двух векторов

Огромное человеческое спасибо)))
Старый 13.03.2010, 17:10  [ТС]   #4
kurban_ufa
Новичок
 
Регистрация: 08.03.2010
Сообщений: 9
Репутация: 1 (1)
вычисление суммы двух векторов / С++ для начинающих

Вот мой собственнный вариант
Код 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
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int i;
const int N=3;
void input(double a[],double b[],double c[], int k);
void mult(double s[],double a[],double b[],double c[],int k);
void main()
{
double a[N],b[N],c[N],S[N];
input (a,b,c,N);
mult(S,a,b,c,N);
cout<<"Summa =";
for(i=0;i<N;i++)
cout<<S[i]<<" ";
}
void input(double a[],double b[],double c[],int k)
{cout<<”Bbedite vectora a,b,c\n”;
 for(i=0;i<k;i++)
 cin>>a[i];
 for(i=0;i<k;i++)
 cin>>b[i];
 for(i=0;i<k;i++)
 cin>>c[i];
}
void mult(double S[],double a[],double b[],double c[],int k)
{
for(i=0;i<k;i++)
S[i]=a[i]+b[i]+c[i];
}
Старый 13.03.2010, 17:10
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Автор
С++ для начинающих Вычисление квадратов суммы и разности двух чисел
Нужно написать программу вычисления квадратов суммы и разность двух чисел. после того как пользователь введет данные, необходимо определить на них ссылки и расчет производить при помощи ссылок... на языке Си, помогите пожалуйста( 3 лабу проваливаю уже
Динар Габбасов
С++ для начинающих сложение и вычитание векторов, скалярное произведение векторов, умножение на скаляр, сравнение векторов, вычисление длины вектора
вот 2 вопроса первый простой для спецов а второй может я чтото не понял но в лабе он так и звучит. 1) Составить программу для вычисления суммы 10 заданных целых чисел. 2) Создать класс vector3D, задаваемый тройкой координат. Обязательно должны быть реализованы: сложение и вычитание...
xz386
Pascal (Паскаль) 1. Определить полусумму длин двух векторов А(3), В(5). Длина вектора определяется как корень квадратный из суммы квадратов его проекций. 2. Дана пос
1. Определить полусумму длин двух векторов А(3), В(5). Длина вектора определяется как корень квадратный из суммы квадратов его проекций. 2. Дана последовательность, состоящая из 10 слов. Напечатать все различные слова, указав для каждого из них число его вхождений в последовательность. ...
suit13
Pascal (Паскаль) Определить полусумму длин двух векторов А(3), В(5). Длина вектора определяется как корень квадратный из суммы квадратов его проекций.
Определить полусумму длин двух векторов А(3), В(5). Длина вектора определяется как корень квадратный из суммы квадратов его проекций.
suit13
Pascal (Паскаль) Определить полусумму длин двух векторов А(3), В(5). Длина вектора определяется как корень квадратный из суммы квадратов его проекций.
Определить полусумму длин двух векторов А(3), В(5). Длина вектора определяется как корень квадратный из суммы квадратов его проекций.
suit13
Опции темы

Текущее время: 10:29. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.