Retaper code c en c++

Bonjour,
J'ai mon code que j'ai ecrit en C sous editeur Code Blocks et je veut le reecrire en C++.
est ce que quelqu'un pourra m'aider.
Merci
/**************************************************************/
/***************** Analyse d'impacts ****************/
/**************************************************************/

#include <stdio.h>
#include <math.h>
#include <time.h>
#define MAXSIZE 8// taille des tableaux

/****************************************************/
/************* Prototypes des fonctions *************/
/****************************************************/

void create_matrix(float *, int, int);
void display_matrix(float *, int, int);
int compute(float *, float *, const dim);

/****************************************************/
/************* Fonction Principale **************/
/****************************************************/

int main (int argc, const char * argv[]) {
int dim;
int i,j;
int toto;
float e[MAXSIZE * MAXSIZE];
float c[MAXSIZE];
FILE * pFile;

pFile = fopen ("fiche.txt","r");

for (i=0 ; i<MAXSIZE ;i++)
{
for (j=0; j<MAXSIZE; j++)
{
fscanf (pFile, "%f ",&e[i + MAXSIZE * j]);

printf("%f ", e[i + MAXSIZE * j]);

}
printf("\n");
}

fclose(pFile);
printf ("\nQuelle est la dimention du vecteur (Max %d): ",dim);
scanf ("%d",&dim);
printf ("\n le nombre d'iteration est %d\n",compute(e, c, dim));
scanf("%d", &toto);
getchar();
return 0;
}

/****************************************************/
/************* Fonction Secondaires **************/
/****************************************************/

/****************************************************/
/************* Fonction Secondaires **************/
/****************************************************/

/*******************************************************************/
/****** Fonction pour créer une matrice [taille_1 x taille_2] ******/
/*******************************************************************/

void create_matrix(float *tableau, int taille_1, int taille_2 )
{
int i_t1, i_t2;

for ( i_t1= 0; i_t1 < taille_1; i_t1++)
{

printf ("Line %d:\t",i_t1);
for ( i_t2 = 0; i_t2 < taille_2; i_t2++)

scanf ("%f",&tableau[((i_t1 * taille_1) + i_t2)]);
printf ("\n");
}

}

/*******************************************************************/
/****** Fonction pour afficher une matrice [taille_1 x taille_2] ***/
/*******************************************************************/

void display_matrix(float *tableau, int taille_1, int taille_2 )
{
int i_t1, i_t2;
for (i_t1 = 0; i_t1 < taille_1; i_t1++)
{
for ( i_t2 = 0; i_t2 < taille_2; i_t2++)
printf ("%f\t", tableau[((i_t1 * taille_1) + i_t2)]);
}
printf ("\n");
}

/*******************************************************************/
/***** Fonction pour calculer et rechercher le point d'équilibre ***/
/*******************************************************************/

int compute(float *e, float *c, const dim)
{
int vecteur_egaux;
float r[MAXSIZE];
float a[MAXSIZE];
float b[MAXSIZE];
int i=0;
int j=0;
int nb_iteration;

nb_iteration=0;
vecteur_egaux = 0;

/*printf ("\n\n\n\t******* CREATION DE LA MATRICE E *******\n");
printf ("\n*******Saisie de la matrice E*******\n\n");
create_matrix(e, dim, dim);*/

printf ("\n\t******* CREATION DU VECTEUR C *******\n");
printf ("\n*******Saisie de la matrice C*******\n\n");
create_matrix(c, 1, dim);

for (i = 0; i < dim; i++)
{
a[i]=c[i];

}
while (!vecteur_egaux)
{
for (i = 0; i < dim; i++)
{
b[i]=c[i];

}

for ( i= 0; i < dim; i++)
{
r[i] = 0;
for (j = 0; j < dim; j++)
{
r[i]=(r[i])+((c[j]) * (e[j + MAXSIZE * i]));

}
}
vecteur_egaux = 1;

for (i = 0; i < dim; i++)
{
c[i]=((expf (2 * r[i]) - 1) / (expf (2 * r[i]) + 1))+ a[i];
}
for (i = 0; i < dim; i++)
{
if (c[i] != b[i])
{
vecteur_egaux = 0;
}
}

printf ("\n");
nb_iteration++;

printf ("\n*******VECTEUR R%d:\n",nb_iteration);
display_matrix(r, 1,dim);
printf ("\n*******VECTEUR C%d:\n",nb_iteration);
display_matrix(c, 1,dim);

}
printf ("\n\n\n\t\t*******RESULTAT*******\n\n\n");

return nb_iteration;

}
/****************** The end *********************************/

5 réponses

  1. Contributeur
    Bonjour,

    C'est quoi qui te bloque ? La non connaissance du C++ ?
    Sinon, je te propose que tu fasses un premier jet et on te corrigera.

    Cdlt,
    0
    1. Merci tout dabord,
      oui enfait la non connaissance du C++ est comment me y prendre
      0
      1. ok je vais le faire en me basant sur le lien que tu ma passer, et j'aimerai bien que vous me corrigiez apres que je termine le code si c'est possible.
        0
        1. Bonsoir,
          voila le code en C++ equivalent a mon code en C que j'ai mis toute a l'heure en haut
          </**************************************************************/
          /***************** Analyse d'impacts ****************/
          /**************************************************************/
          #include <iostream>
          # include <conio.h>
          # include <iomanip.h>
          # include <math.h>
          #define MAXSIZE 8// taille des tableaux

          /****************************************************/
          /************* Prototypes des fonctions *************/
          /****************************************************/

          void create_matrix(float *, int, int);
          void display_matrix(float *, int, int);
          int compute(float *, float *, const dim);

          /****************************************************/
          /************* Fonction Principale **************/
          /****************************************************/
          using namespace std;
          int main (int argc, const char * argv[]) {
          int dim;
          int toto;
          float e[MAXSIZE * MAXSIZE];
          float c[MAXSIZE];
          FILE * pFile;

          pFile = fopen ("fiche.txt","r");

          for (int i=0 ; i<MAXSIZE ;i++)
          {
          for (int j=0; j<MAXSIZE; j++)
          {
          fscanf (pFile, "%f ",&e[i + MAXSIZE * j]);

          cout << e[i + MAXSIZE * j];

          }
          cout << endl <<;
          }

          fclose(pFile);
          cout <<"Quelle est la dimention du vecteur: " << dim << endl;
          scanf ("%d",&dim);
          cout << "le nombre d'iteration est \n" << compute(e, c, dim) << endl;
          cin >>&toto;
          getchar();
          return 0;
          }

          /****************************************************/
          /************* Fonction Secondaires **************/
          /****************************************************/

          /****************************************************/
          /************* Fonction Secondaires **************/
          /****************************************************/

          /*******************************************************************/
          /****** Fonction pour créer une matrice [taille_1 x taille_2] ******/
          /*******************************************************************/

          void create_matrix(float *tableau, int taille_1, int taille_2 )
          {

          for (int i_t1= 0; i_t1 < taille_1; i_t1++)
          {

          cout <<"Line:" << i_t1 << endl;
          for (int i_t2 = 0; i_t2 < taille_2; i_t2++)

          cin >> &tableau[((i_t1 * taille_1) + i_t2)];
          cout << endl<<;
          }

          }

          /*******************************************************************/
          /****** Fonction pour afficher une matrice [taille_1 x taille_2] ***/
          /*******************************************************************/

          void display_matrix(float *tableau, int taille_1, int taille_2 )
          {

          for (int i_t1 = 0; i_t1 < taille_1; i_t1++)
          {
          for (int i_t2 = 0; i_t2 < taille_2; i_t2++)
          cout << tableau[((i_t1 * taille_1) + i_t2)];
          }
          cout << endl<<;
          }

          /*******************************************************************/
          /***** Fonction pour calculer et rechercher le point d'équilibre ***/
          /*******************************************************************/

          int compute(float *e, float *c, const dim)
          {
          int vecteur_egaux;
          float r[MAXSIZE];
          float a[MAXSIZE];
          float b[MAXSIZE];
          int nb_iteration;

          nb_iteration=0;
          vecteur_egaux = 0;

          cout <<endl<<"******* CREATION DU VECTEUR C *******"<< endl;
          cout <<endl<<"*******Saisie de la matrice C*******" << endl <<endl;
          create_matrix(c, 1, dim);

          for (int i = 0; i < dim; i++)
          {
          a[i]=c[i];

          }
          while (!vecteur_egaux)
          {
          for (int i = 0; i < dim; i++)
          {
          b[i]=c[i];

          }

          for (int i= 0; i < dim; i++)
          {
          r[i] = 0;
          for (int j = 0; j < dim; j++)
          {
          r[i]=(r[i])+((c[j]) * (e[j + MAXSIZE * i]));

          }
          }
          vecteur_egaux = 1;

          for (int i = 0; i < dim; i++)
          {
          c[i]=((expf (2 * r[i]) - 1) / (expf (2 * r[i]) + 1))+ a[i];
          }
          for (int i = 0; i < dim; i++)
          {
          if (c[i] != b[i])
          {
          vecteur_egaux = 0;
          }
          }

          cout <<endl<<;
          nb_iteration++;

          cout <<endl<<"*******VECTEUR R:",nb_iteration<< endl;
          display_matrix(r, 1,dim);
          cout <<endl<<endl<<"*******VECTEUR C:",nb_iteration << endl;
          display_matrix(c, 1,dim);

          }
          cout << endl<<endl<<endl<<"*******RESULTAT*******"<< endl<< endl<< endl;

          return nb_iteration;

          }
          /****************** The end *********************************/
          >
          Est ce que je l'ai bien convertis?
          0