Умножение Матрицы На Вектор

06.06.2013
1
0
#1
Доброго времени суток!
Задача: дана матрица А размерности m*n и вектор X размерности n. Найти произведение A*X.
Язык: C
Писалось в Borland C++
собственно код:
C++:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
void main()
{
int a[10][20];
int b[20];
int p[10];
int e,i,j,m,n,x,k;
clrscr();

printf("Введите количество строк и столбцов в м трице A через пробел: ");
scanf("%d%d",&m,&n);
printf("Введите матрицу %d*%d:\n",m,n);
for (j=0;j<m;j++)
for (i=0;i<n;i++)
scanf("%d",&a[j][i]);

printf("Введите количество елеме­тов вектор  X: ");
scanf("%d",&k);

if (n!=k)
{
printf("Перемножить матрицу на вектор нельзя!");
getch();
exit(0);
}

else
{
for (e=0;e<k;e++)
{ printf("Введите %d елемен­т вектора: ",e+1);
scanf("%d",&b[e]);
}
for (x=0;x<m;x++)
p[x]=0;
for (x=0;x<m;x++)
{
for (i=0;i<n;i++)
p[x]=p[x]+(a[x][i]*b[i]);
}
clrscr();
printf("ИСКОМЫЙ ВЕКТОР: \n");
for (x=0;x<m;x++)
printf("%d ",p[x]);
getch();
}
}
 
W

Whatka

#2
не читал даже код
в вашем условии уже ошибка:данная операции не определена!!

можно умножить матрицу n*m на вектор размерности n справо
или матрицу m*n на вектор размерности n слево.