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

скалярное произведение двух массивов - C++

Восстановить пароль Регистрация
 
Depressa
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 83
27.12.2011, 20:28     скалярное произведение двух массивов #1
Напишите функцию, которая вычисляет скалярное произведение двух массивов.Массивы содержат элементы типа float.
Каждый массив передается в функцию через пару параметров - указатель на первый элемент, и размер массива.

Также напишите две функции: первая - для вывода элементов массива на экран и вторая - для ввода с клавиатуры.

В функции main протестируйте работу Ваших функций. Память под массив(ы), с которыми идет работа,выделять/освобождать динамически,через функции malloc/free

Общая последовательность действий программы такова:
1) Выделяется память под массив(ы) небольшого обЪема (5-10 элементов, на Ваше усмотрение).
2) Массив(ы) вводяться с клавиатуры.
3) Массив(ы) обрабатываются функцией из задания.
4) массив(ы) выводятся на экран.




вот что у меня вышло
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
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
void mas_in(float* a,int size)
{
    for(int i = 0; i < size;++i)
        cin >> a[i];
}
void mas_out(float*a,int size)
{
    for(int i = 0;i < size;++i)
        cout << a[i];
    cout << endl;
}
void mul(float* a1,float* a2,float* result,int size)
{
    for(int i = 0; i < size;++i)
        result[i]=a1[i] * a2[i];
}
int main(int argc,char *argv[])
{
    float* mas1,*mas2,*result;
    int size;
    cout << "Enter size: ";
    cin >> size;
    mas1 = (float*)malloc(size*sizeof(float));
    mas2 = (float*)malloc(size*sizeof(float));
    result = (flaot*)malloc(size*sizeof(float));
    mas_in(mas1,size);
    mas_in(mas2, size); 
    cout << "Multipl" << endl;
    mas_out(result,size);
    free(mas1);
    free(mas2);
    return 0;
}
на выходе на экран выдает только нули
что не так?

Добавлено через 46 минут
исправил в 30 строке на float
всё равно выдает белиберду
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2011, 20:28     скалярное произведение двух массивов
Посмотрите здесь:

C++ скалярное произведение двух n-мерных векторов
Скалярное произведение двух массивов C++
Как вывести скалярное произведение двух массивов? C++
C++ Найдите сумму, разность и скалярное произведение двух векторов
скалярное произведение двух векторов C++
Вычислить скалярное произведение двух векторов C++
C++ ОпенМП расспаралелить скалярное произведение двух n-мерных векторов (массивов)
C++ Выбрать пару векторов или массивов, которая даст минимальное скалярное произведение

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
27.12.2011, 20:40     скалярное произведение двух массивов #2
После 32 строки забыли вызвать функцию mul:
mul(mas1,mas2,result,size);
Однако еще одно замечание, скалярное произведение, это
сумма почленных произведений. Т.е. вектор result еще надо просуммировать
Depressa
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 83
27.12.2011, 20:43  [ТС]     скалярное произведение двух массивов #3
а как это примерно суммирование будет выглядеть?
Yandex
Объявления
27.12.2011, 20:43     скалярное произведение двух массивов
Ответ Создать тему
Опции темы

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