IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

initialisation tableau valeur incorrect


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Par défaut initialisation tableau valeur incorrect
    Bonjour,
    dans ce code, ptfinal[2] à ses valeurs initialisées à 0
    mais dans l'entrée ses valeurs correspondent à des valeurs calculées précedemment, hors hormis l'initialisation, je n'affecte jamais de valeurs a ptfinal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    double BezierGen(int m,double u,int i);
    double puissance(double a,int b);
     
    int main()
    {
        double ptfinal[2];
        ptfinal[1] = 0;
        ptfinal[2] = 0;
        double points2[4][2]; //tableaux qui contiendra les nouvelles valeurs 
        double points[4][2];  // tableaux contenant des ordonnées et des abscisses
        points[1][1] = 0;
        points[1][2] = 1;   
        points[2][1] = 2;     
        points[2][2] = 2;
        points[3][1] = 4;
        points[3][2] = 0;
        points[4][1] = 5;
        points[4][2] = 3;    
        double u = 0.25; 
        int m,i,j =0;
        m = 3;
     
        for (i=1;i<5;i=i+1)// parcours des lignes de mon tableau "points"
        {
           for(j=1;j<3;j=j+1)// parcours des colonnes de mon tableau "points"
           {  
              double temp1,temp2;
              temp1 = points[i][j];
              temp2 = BezierGen(m,u,i-1);//fonction de calcul          
              points2[i][j] = temp1 * temp2 ;
           }        
        }
     
        for (i=1;i<3;i=i+1) // normalement je parcours les colonnes du tableaux points2
        {
            for(j=1;j<5;j=j+1)
            {
             printf("%lf\n",ptfinal[i]); //la il m'affiche la valeur de points2[4][1]
     
            }
        }
     
     
        printf("x=%lf|y=%lf",ptfinal[1],ptfinal[2]);
        system("PAUSE");	
      return 0;
    }
     
    double puissance(double a,int b)
    {
     int i;
     double result;
     result = a;
     if (b == 0) return 1;
     if (b == 1) return result;
     if (b > 1)
     {
         for (i=2;i<=b;i++)
         {
             result = result * a; 
         }
         return result;
     }
     
    }
     
    int factorielle(int n)
    {
            if (n == 0) return 1;
            if (n > 2) return n * factorielle(n - 1);
            return n;
    }
     
    double BezierGen(int m,double u,int i)
    {
           return (factorielle(m)/(factorielle(m-i)*factorielle(i)))*puissance(u,i)*puissance((1-u),(m-i));
    }

  2. #2
    Membre chevronné Avatar de corentin59
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 462
    Par défaut
    Citation Envoyé par mathrb Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    double ptfinal[2];
    ptfinal[1] = 0;
    ptfinal[2] = 0;
    déjà, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    double ptfinal[2];
    ptfinal[0] = 0;
    ptfinal[1] = 0;
    et pareil pour les autres. En C, les indices commencent à 0 (et termine à n-1)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Par défaut
    En effet mon erreur venait de là, Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/01/2009, 12h32
  2. Réponses: 2
    Dernier message: 30/10/2006, 16h40
  3. [Struts] Comment initialiser les valeurs d'un formulaire
    Par Sniper37 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/04/2005, 15h02
  4. [Debutant] Initialisation tableau []
    Par Pumpkins dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 15/09/2004, 00h02
  5. Initialisation tableau
    Par poinclin dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 24/06/2004, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo