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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Depressa
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 83
#1

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

27.12.2011, 20:28. Просмотров 810. Ответов 2
Метки нет (Все метки)

Напишите функцию, которая вычисляет скалярное произведение двух массивов.Массивы содержат элементы типа 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++
не могли бы подсказать, что в коде программы надо дописать, вышло только просто произведение #include &lt;iostream&gt; #include &lt;stdlib.h&gt; ...

Как вывести скалярное произведение двух массивов? - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; void mas_in(int* a, int size) { for(int i = 0; i &lt; size; ++i) ...

ОпенМП расспаралелить скалярное произведение двух n-мерных векторов (массивов) - C++
Существует следующий код int main() { setlocale(LC_ALL, &quot;Russian&quot;); size_t n; cout &lt;&lt; &quot;Введите размерность...

Вычислить скалярное произведение двух векторов - C++
7.6.1. Помогите, пожалуйста, решить задачу в С++. Вычислить скалярное произведение двух векторов.

Выбрать пару векторов или массивов, которая даст минимальное скалярное произведение - C++
Добрый день, подскажите пожалуйста как создать n векторов или массивов, если изначально не известно сколько их будет? Вот условие...

Найти скалярное произведение двух n-мерных векторов - C++
У меня вообще не понимаю. И ничего не получился! Задача СИ : Написать программу, которая находит скалярное произведение двух n-мерных...

Найдите сумму, разность и скалярное произведение двух векторов - C++
помогите пожалуйста с задачей Найдите сумму, разность и скалярное произведение двух векторов в N-мерном пространстве.

Найти произведение двух двумерных массивов - C++
Помогите, пожалуйста, разобраться. Код компилируется, но выдает совсем не то, что нужно. Задание: создать два двухмерных массива А 5*3...

Поэлементное произведение элементов двух массивов - C++
Написать программу, в которой объявляется три массива одинакового размера. Первые два массива заполняются случайными числами в диапазоне от...

Вычислить поэлементно сумму и произведение двух массивов - C++
1-й заполнить четными числами из указанного пользователем диапазона, 2-й нечетными. каждый массив должен содержать 10 чисел и вычислять...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6284 / 5887 / 1909
Регистрация: 18.12.2011
Сообщений: 15,114
Завершенные тесты: 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     Скалярное произведение двух массивов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru