Exercice langage C corrigé produit scalaire de deux vecteurs

 

#include  
#define MAX 50 
long ProduitScalaire(int *,int *, int) ; 
main() 
{ 
 /* Déclarations */ 
  int U[MAX], V[MAX];  /* tableaux donnés  */ 
  int N;       /* dimension         */ 
  int I;        /* indice courant   */ 
  long PS;     /* produit scalaire  */ 
 /* Saisie des données */ 
do 
{ 
  printf("Dimension du tableau (max.%d) : ",MAX); 
  scanf("%d", &N ); 
}while(N>MAX) ; 
  printf("** Premier tableau **\n"); 
  for (I=0; I<N; I++) 
     { 
       printf("Elément %d : ", I); 
       scanf("%d", &U[I]); 
     } 
  printf("** Deuxième tableau **\n"); 
  for (I=0; I<N; I++) 
     { 
       printf("Elément %d : ", I); 
       scanf("%d", &V[I]); 
     } 
/* Calcul du produit scalaire */ 
 PS = ProduitScalaire(U,V,N) ; 
/* Edition du résultat */ 
  printf("Produit scalaire : %ld\n", PS); 
} 
long ProduitScalaire(int *U, int *V,int N) 
{ 
 long ps ; 
 int i ; 
  for (ps=0, i=0; i<N; i++) 
       ps += (long)U[i]*V[i]; 
 Return ps ; 
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comments (1)

  1. Ecrire une fonction PrduitScalaireTab() qui prend en paramètre 2 tableaux de réelles, et calcule et retourne d’une manière récursive le produit scalaire des 2 tableaux.
    Dans la fonction main() :
    – Déclarer deux tableaux T1 et T2 de 5 réelles.
    – Remplir les tableaux.
    – Faire l’appel à la fonction PrduitScalaireTab() pour Calculer le produit
    scalaire de T1 et T2
    – Afficher ce produit