- Codice:
printf("\nIL PRODOTTO SCALARE TRA IL VETTORE E LE COLONNE ANALIZZATE E': \n");
for(j=0; j<colonne; j++){
for(i=0; i<righe; i++){
ps[j]+=matrice[i][j]*vettore[i];
}
}
for(i=0; i<colonne; i++){
printf("%.1f",ps[i]);
}
E di seguito il codice completo:
Testo nascosto, fai click qui per vederlo
- Codice:
#include <stdio.h>
#include <stdlib.h>
#define R 20
#define C 20
void lettura(char file[],int matrice[][C], int *righe, int *colonne, int vettore[]);
main(){
int matrice[R][C];
char file[20];
int righe, colonne, i, j;
float ps[C];
int vettore[R];
printf("\nINSERIRE IL NOME DEL FILE DA APRIRE:\n");
scanf("%s",file);
lettura(file, matrice, &righe, &colonne, vettore);
printf("\nLA MATRICE HA %d RIGHE E %d COLONNE, ED E' LA SEGUENTE:",righe,colonne);
printf("\n");
for(i=0; i<righe; i++){
for(j=0; j<colonne; j++){
printf("%d ",matrice[i][j]);
}
printf("\n");
}
printf("\nIL VETTORE CON CUI EFFETTUARE IL PRODOTTO SCALARE E':\n");
for(i=0; i<righe; i++){
printf("%d ",vettore[i]);
}
printf("\nIL PRODOTTO SCALARE TRA IL VETTORE E LE COLONNE ANALIZZATE E': \n");
for(j=0; j<colonne; j++){
for(i=0; i<righe; i++){
ps[j]+=matrice[j][i]*vettore[i];
}
}
for(i=0; i<colonne; i++){
printf("%.1f",ps[i]);
}
return(0);
}
void lettura(char file[],int matrice[][20], int* righe, int* colonne,int vettore[]){
FILE *f;
int r,c,i,j;
f= fopen(file,"r");
if(f==NULL){
printf("ATTENZIONE! IL FILE NON ESISTE!");
exit(0);
}
fscanf(f, "%d",&r);
fscanf(f, "%d",&c);
*righe=r;
*colonne=c;
for(i=0; i<r; i++){
for(j=0; j<c; j++){
fscanf(f,"%d",&matrice[i][j]);
}
}
for(i=0; i<r; i++){
fscanf(f,"%d",&vettore[i]);
}
fclose(f);
}
Vi ringrazio anticipatamente.