
#include <iostream>
#define TAILLE 100
#define NB_MAX_IND 100
#define NB_MAX_VAR 20

typedef struct {
  int p;
  float t[NB_MAX_VAR];
} VECT;


// Exemple d'enregistrement
typedef struct {
  int n;
  int p;
  float X[NB_MAX_IND][NB_MAX_VAR];
  float Coord[NB_MAX_IND][NB_MAX_VAR];
  float Correl[NB_MAX_VAR][NB_MAX_VAR];
} D_ACP;

using namespace std;

VECT multMatVect(float
                 m[NB_MAX_VAR][NB_MAX_VAR],
                 float v[NB_MAX_VAR], int p);

int main()
{
  // Exemple d'un tableau unidimensionnel
  float vect[TAILLE];

  // Exemple d'un tableau bidimensionnel
  float matrice[TAILLE][TAILLE];
  int j, p;
  float res;

  // Exemple d'utilisation de la structure D_ACP
  D_ACP mesDonnees;

  cin >> mesDonnees.n;

  cin >> vect[3];

  res = 0.0;
  for(j = 0; j < p ; j++ ) {
    res = res + vect[j] * vect[j];
  }
    cout << "Hello world!" << endl;
    return 0;
}


VECT multMatVect(float
                 m[NB_MAX_VAR][NB_MAX_VAR],
                 float v[NB_MAX_VAR], int p) {
  VECT res;
  int j1,j2;
  float tmp;

  res.p = p;
  for(j1 = 0; j1 < p; j1++) {
    tmp = 0.0;
    for(j2 = 0; j2 < p; j2 ++) {
      tmp = tmp +m[j1][j2] * v[j2];
    }
    res.t[j1] = tmp;
  }
  return res;
}
