[c++] programmer une somme

cindy -  
 cindy -
Bonjour,

j'ai un devoir à rendre pour mon cours de c++ j'ai tous fait il me manque juste une chose alors mon programme dois calculer une somme fini

alors c'est la somme de i=1 à t-x+1 de f(i)*q(t-1,x-1)

sachant que t, x sont des données et q aussi est une donnée

voila ou j'en suis

#include <fstream>
#include <string>
using namespace std;



int main()
{
    int t=0;
    float v=0;
    float *G = NULL; //pointeur pour l'allocation dynamique de G(t)
    float *f = NULL; //pointeur pour l'allocation dynamique de f(i)

    float **q = NULL; /*pointeur pour l'allocation dynamique
                       de la matrice des valeurs q(i,t)*/





    cout << "----------------TP PAAP----------------" << endl;
    cout << "Donner le nombre de renouvellement"<<endl;
    cin >> t;

 if (t > 0) // verificaton de l'allocation dynamique
  {
       G = new float[t]; // Allocation de mémoire (tableau G)
        f = new float[t];//même chose pour f

         //allocation de la mémoire pour q(i,t)

    q = new float*[t];//initialisation du nombre de lignes t

   for(int i=0;i<=t;i++)//parcours des lignes pour allouer chaque colonnes
   {
     q[i] = new float[t];
	}
//---------------fin-allocation de la matrice .


     if (G == NULL) // On vérifie si l'allocation a marché ou pas

     {
            exit(0); // On arrête tout
        }
        if (q == NULL) // On vérifie si l'allocation a marché sur la matrice ou pas

     {
            exit(0); // On arrête tout
        }
 // On demande les valeurs du tableau G

    for (int i=0 ; i<=t; i++)
    {
        cout<<"donner G("<< i <<")"<< endl;

       cin >> G[i];//on remplie le tableau G(i)
       q[0][i] = G[i];  // on remplie la 1ére colonne de q
    };
  //même chose pour f

   if (f == NULL) // On vérifie si l'allocation a marché ou pas

     {
            exit(0); // On arrête tout
        }
   // On demande les valeurs du tableau G
    for (int i=0 ; i<=t; i++)
    {
        cout<<"donner f("<< i <<")"<< endl;

        cin>>f[i];
    };

//------
 // On affiche
cout<<"-------------les valeurs de G(t) sont -----------"<<endl;
    for (int i=0 ; i<=t; i++)
    {
        cout<<"G("<< i <<")="<<G[i]<< endl;
    };

cout<< "---------les valeur de fi sont------------"<<endl;

for (int i=0 ; i<=t; i++)
    {
        cout<<"f("<< i <<")="<<f[i]<< endl;
    };

for (int x=0; x<=t;x++)
{
q[0][0]=1;

for(int i = 1;  i<=t-x+1;i++ ) /* calcule des valeur de q(i,j)par l'algorithme récurrent du processus */

      {
      for(int j = 1; j<=i ;j++ )
        {

        q[i][j]+=f[j]*q[j-i][x-1];

        }
      }
}

  //on affiche la matrice

cout <<"--------matrice des q(t,x)------------"<<endl;

for(int y = 0; y < t; y++)
{

      for(int x = 0; x < t; x++)

            cout << q[x][y] << '\t';

      cout << endl;

}

     // On libère la mémoire allouée
    delete[] G; // Libération de mémoire (G)
    delete[] f; // Libération de mémoire (f)

   for(int i=0;i<t;i++)
   {

	  delete [] q[i];

  }

  delete [] q;



       };


    return 0;
}



c'est ici que je saiche

for (int x=0; x<=t;x++)
{
q[0][0]=1;

for(int i = 1; i<=t-x+1;i++ ) /* calcule des valeur de q(i,j)par l'algorithme récurrent du processus */

{
for(int j = 1; j<=i ;j++ )
{

q[i][j]+=f[j]*q[j-i][x-1];

}
}
}

merci infiniment
A voir également:

1 réponse

cindy
 
alors pas une idée :(
0