jueves, 9 de agosto de 2012

/* PROGRAMA QUE TRABAJA CON ARREGLOS Y FUNCIONES*/

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#define col 5
#define row 4
void mulvecmat(int vec[col],int mat[row][col],int res[row]);
int main () {
int l,i,j,veci[col],mati[row][col],ves[row];
FILE *fmat;// son apuntadores
fmat=fopen("datmatv.txt","r");

for(i=0;i<row;i=i+1)for(j=0;j<col;j++)fscanf(fmat,"%d",&mati[i][j]);
for(j=0;j<col;j++)fscanf(fmat,"%d",&veci[j]);
fclose(fmat);
mulvecmat(veci,mati,ves);
printf("el vector de salida es:\n");
for(i=0;i<row;i=i+1)printf("%d\n",ves[i]);

return 0;
}
void mulvecmat(int vec[col],int mat[row][col],int res[row]){
 int i,j,sum=0;
 for(i=0;i<row;i=i+1){
  sum=0;
  for(j=0;j<col;j++)sum+=mat[i][j]*vec[j];
  res[i]=sum;
 }
}

No hay comentarios: