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

Векторы - C++

Восстановить пароль Регистрация
 
Азимжон
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 23
11.02.2012, 08:40     Векторы #1
Определите полусумму длин двух векторов А(1,5; 2,5; -0,3) и В(-11,7; -9,3; 2,5; 3,7; -1,2). Вычислите, длины вектора оформив в виде функции.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2012, 08:40     Векторы
Посмотрите здесь:

C++ Векторы
C++ Векторы
векторы С++ C++
C++ Векторы!!!
Векторы! C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
12.02.2012, 05:36     Векторы #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <stdio.h>
#include <vector>
#include <math.h>
float vec_depth(std::vector<float>myvec);
int main(){
    float  ar[] = {1.5,2.5,-0.3};
    float sar[] = {-11.7, -9.3, 2.5, 3.7, -1.2};
    std::vector<float>vec1(ar,ar + 3);
    std::vector<float>vec2(sar,sar + 5);
    std::cout << "Polusumma dlin\t";
    std::cout << (vec_depth(vec1) + vec_depth(vec2))/2 << std::endl;//полусумма длин
system("pause");}
float vec_depth(std::vector<float>myvec){      //функ. длина вектора
    float sum = 0;
   std::vector<float>::iterator i = myvec.begin();
    while (i != myvec.end()) {
      sum += (*i**i);  ++i;}
    return sqrt(sum);};
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
12.02.2012, 05:55     Векторы #3
Цитата Сообщение от MrCold Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <stdio.h>
#include <vector>
#include <math.h>
float vec_depth(std::vector<float>myvec);
int main(){
    float  ar[] = {1.5,2.5,-0.3};
    float sar[] = {-11.7, -9.3, 2.5, 3.7, -1.2};
    std::vector<float>vec1(ar,ar + 3);
    std::vector<float>vec2(sar,sar + 5);
    std::cout << "Polusumma dlin:\t";
    std::cout << (vec_depth(vec1) + vec_depth(vec2))/2 << std::endl;//полусумма длин
system("pause");}
float vec_depth(std::vector<float>myvec){      //функ. длина вектора
    float sum = 0;
   std::vector<float>::iterator i = myvec.begin();
    while (i != myvec.end()) {
      sum += (*i**i);  ++i;}
    return sqrt(sum);};
я немного исправлю синтаксис
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
float vec_depth(vector<float>& myvec){      //функ. длина вектора
    float sum = 0;
  vector<float>::iterator i = myvec.begin();
    while (i != myvec.end()) {
      sum += (*i)*(*i);  ++i;
}
    return sqrt(sum);
};
int main(){
    float  ar[] = {1.5,2.5,-0.3};
    float sar[] = {-11.7, -9.3, 2.5, 3.7, -1.2};
    vector<float>vec1(ar,ar + 3);
    vector<float>vec2(sar,sar + 5);
    cout << "Polusumma dlin\t";
        cout << (vec_depth(vec1) + vec_depth(vec2))/2 << endl;//полусумма длин
system("pause");
}
MrCold
12.02.2012, 08:53
  #4

Не по теме:

Цитата Сообщение от Hi4ko Посмотреть сообщение
я немного исправлю синтаксис
Hi4ko, лучше бы тогда свой пример написал, описал свой класс vector, для разнообразия

Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
12.02.2012, 09:01     Векторы #5
Цитата Сообщение от MrCold Посмотреть сообщение

Не по теме:



Hi4ko, лучше бы тогда свой пример написал, описал свой класс vector, для разнообразия

Дак я просто изменил его, чтоб читабелен был)
Так ведь всё верно)
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.02.2012, 09:06     Векторы #6
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 <stdio.h>
#include <math.h>
#include <stdarg.h>
 
double vec_len( int amount, ... )
{
    double res = 0, x;
    int i;
    va_list v;
    
    va_start( v, amount );
    for (i = 0; i < amount; ++i)
    {
        x = va_arg(v, double);
        res += x * x;
    }
    va_end(v);      
    
    return sqrt(res);
}
 
int main(void)
{
    double len_a = vec_len( 3, 1.5, 2.5, -0.3 );
    double len_b = vec_len( 5, -11.7, -9.3, 2.5, 3.7, -1.2 );
    printf("%lf\n", (len_a + len_b) / 2. );
 
        return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2012, 11:58     Векторы
Еще ссылки по теме:

Векторы C++
Векторы в с++ C++
C++ Векторы

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

Или воспользуйтесь поиском по форуму:
Азимжон
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 23
12.02.2012, 11:58  [ТС]     Векторы #7
Спасибо братаны. А то я вообще думал что элементы векторов должны быть равны и поэтому эта задача не правильная
Yandex
Объявления
12.02.2012, 11:58     Векторы
Ответ Создать тему
Опции темы

Текущее время: 08:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru