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

перемножение массивов - C++

Восстановить пароль Регистрация
 
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
24.05.2011, 12:40     перемножение массивов #1
Помогите, пожалуйста. Есть следующая задача: заданы массивы: a[3], b[7], которые инициализированы некоторыми значениями. Например:
C++
1
2
3
4
5
6
7
int a[3];
    a[0]=1;
    a[1]=2;
    a[2]=3;
int b[7];
    for (int i=0; i<7; i++)
        b[i]=2*i;
Нужно посчитать произведение соответствующих элементов одно массива на соответствующие элементы другого и записать их в массив c[5]. Элементы массива c[5] определяются следующим образом:
c[0] = a[0]*b[0]+a[1]*b[1]+a[2]*b[2];
c[1] = a[0]*b[1]+a[1]*b[2]+a[2]*b[3];
c[2] = a[0]*b[2]+a[1]*b[3]+a[2]*b[4];
...
c[4] = a[0]*b[4]+a[1]*b[5]+a[2]*b[6];
Подскажите, пожалуйста, как это реализовать. Все мои попытки безуспешны. Если нужно, могу кинуть свой код. Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2011, 12:40     перемножение массивов
Посмотрите здесь:

C++ перемножение матриц
C++ Перемножение массивов
C++ Перемножение матриц
C++ перемножение матриц
C++ Перемножение матриц с использованием динамических массивов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
24.05.2011, 12:52     перемножение массивов #2
C++
1
2
3
for (int i = 0; i < 5; i++)
for (int j = 0; j < 3; j++)
   c[i] += a[j]*b[i+j];
как-то так, не?

Добавлено через 2 минуты
как раз и получится что последняя итерация будет с[4] += a[2] * b[2+4]
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
24.05.2011, 13:01  [ТС]     перемножение массивов #3
нет, не так.. уже проверено.. вот результат:
Миниатюры
перемножение массивов   перемножение массивов  
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
24.05.2011, 13:07     перемножение массивов #4
а обнулить массив c[] перед добавлением в него?))

Добавлено через 2 минуты
а ошибка из-за нарушения длинны массива.
т.е. где-то вылазиет за границы.
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
24.05.2011, 13:11  [ТС]     перемножение массивов #5
можно поподробнее?? я уже окончательно запуталась..
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
24.05.2011, 13:14     перемножение массивов #6
C++
1
2
3
4
5
6
int c[4];
for (int i = 0; i < 5; i++) {
c[i]=0;
for (int j = 0; j < 3; j++)
   c[i] += a[j]*b[i+j];
}
Yandex
Объявления
24.05.2011, 13:14     перемножение массивов
Ответ Создать тему
Опции темы

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