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 :

boucle for incomplete


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Par défaut boucle for incomplete
    bonjour,

    La boucle ne s'exécute que pour rc de 0~273, ra et rb ne sont pas incrémentés ! Mais pourquoi ? that is the question ?
    Ce programme doit normalement me permettre de trouver les valeur des cotés ra rb rc d'un triangle equilatérale pour lesquels x et y sont des coordonnées entières.

    Voici le code :
    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
     
    #include<stdio.h>
    #include<stdlib.h>
     
     
    int main (void)
    {
        int ra=0;
        int rb=0;
        int rc=0;
     
        int xa=0;
        int ya=0;
        int xb=273;
        int yb=0;
        int xc=273/2;
        int yc=273*sin(60);
     
        FILE *resultat=fopen("resultat.txt","w");
     
     
        int counter=0;
     
        for ( ra ; ra<=273 ; ra++ )
            {
                for ( rb ; rb<=273 ; rb++ )
                    {
                        for ( rc ; rc<=273 ; rc++ )
                            {
                                float x  = ( rc*rc-xc*xc-yc*yc-rb*rb+xb*xb+yb*yb )/(2*((xa-xc)-1));
                                float y1 = ( rb*rc-ra*ra-xb*xb+xa*xa-yb*yb+ya*ya+2*x*(xb-xa) )/(2*(ya-yb)); 
                                float y2 = ( rc*rc-ra*ra-xb*xb+xa*xa-yc*yc+ya*ya+2*x*(xc-xa) )/(2*(ya-yc));
                                float y3 = ( rc*rc-rb*rb-xc*xc+xb*xb-yc*yc+yb*yb+2*x*(xc-xb) )/(2*(yb-yc));
     
                                printf("| counter=%d | ra=%d | rb=%d | rc=%d | \n",counter, ra ,rb, rc);
                                fprintf(resultat,"| counter=%d | ra=%d | rb=%d | rc=%d | \n",counter, ra ,rb, rc);
     
                                if ( (y1==y2)&&(y1==y3)&&(y2=y3) )
                                   {
                                         printf("| counter=%d | ra=%d | rb=%d | rc=%d | \n",counter, ra ,rb, rc);
                                         fprintf(resultat,"| counter=%d | ra=%d | rb=%d | rc=%d | \n",counter, ra ,rb, rc);
                                   }
                                   counter++;
                            }
                    }
            }
     
    }
    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    probleme :for (ra=0;...
    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
     
     
    #include<stdio.h>
    #include<stdlib.h>
    #include "math.h"
     
     
    int main (void)
    {
        int ra;
        int rb;
        int rc;
     
        int xa=0;
        int ya=0;
        int xb=273;
        int yb=0;
        int xc=273/2;
        int yc=273*sin(60);
     
        FILE *resultat=fopen("resultat.txt","w");
     
     
        int counter=0;
     
        for ( ra=0 ; ra<=273 ; ra++ )
            {
                for ( rb=0 ; rb<=273 ; rb++ )
                    {
                        for ( rc=0 ; rc<=273 ; rc++ )
                            {
                                float x  = ( rc*rc-xc*xc-yc*yc-rb*rb+xb*xb+yb*yb )/(2*((xa-xc)-1));
                                float y1 = ( rb*rc-ra*ra-xb*xb+xa*xa-yb*yb+ya*ya+2*x*(xb-xa) )/(2*(ya-yb));
                                float y2 = ( rc*rc-ra*ra-xb*xb+xa*xa-yc*yc+ya*ya+2*x*(xc-xa) )/(2*(ya-yc));
                                float y3 = ( rc*rc-rb*rb-xc*xc+xb*xb-yc*yc+yb*yb+2*x*(xc-xb) )/(2*(yb-yc));
     
                                printf("| counter=%d | ra=%d | rb=%d | rc=%d | \n",counter, ra ,rb, rc);
                                fprintf(resultat,"| counter=%d | ra=%d | rb=%d | rc=%d | \n",counter, ra ,rb, rc);
     
                                if ( (y1==y2)&&(y1==y3)&&(y2=y3) )
                                   {
                                         printf("| counter=%d | ra=%d | rb=%d | rc=%d | \n",counter, ra ,rb, rc);
                                         fprintf(resultat,"| counter=%d | ra=%d | rb=%d | rc=%d | \n",counter, ra ,rb, rc);
                                   }
                                   counter++;
                            }
                    }
            }
     
    }

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

Discussions similaires

  1. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07
  2. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  3. [Debutant] Batch et Boucle for
    Par ludovic.fernandez dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/05/2004, 19h21
  4. [Swing][boucles] for, do, if .....comment faire simple?
    Par chastel dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/05/2004, 22h49
  5. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 11h54

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