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 :

Corrigez un algorithme en C SVPV


Sujet :

C

  1. #1
    m_c
    m_c est déconnecté
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 2
    Par défaut Corrigez un algorithme en C SVPV
    salut,
    Je n’arrive pas à trouver l’erreur dans cette traduction en C, il me dit qu’il y a une erreur dans les deux dernières lignes.

    Merci d’avance, je serai reconessant.

    voici l'enoncé:
    Ecrire un algorithme qui demande successivement N nombres à l’utilisateur et qui lui dise ensuite quel était le plus grands nombre différent de 0 et sa position ainsi le plus petit nombre différent de 0 et sa positions.(en utilisant les structures de boucles)
    et voici ma traduction:

    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
    #include<stdio.h>
    #include<math.h>
    main()
    {
    int min,max,posmax,posmin,n,nbr,nbrzero,i,j,reponse;
    do
    {
    printf("donnez un nombre entier\n");
    scanf("%d",&nbr);
    if(nbr==1)
    {
    printf("donnez un nombre entier\n");
    scanf("%d",&n);
    if(n!=0)
    {
    max=n;
    min=n;
    posmax=n;
    posmin=n;
    }
    else
    nbrzero=1;
    }
    if(nbr>1)
    {
    i=0;
    nbrzero=0;
    printf("donnez un nobre entier\n");
    scanf("%d",&n);
    if(n==0)
    {
    nbrzero=nbrzero+1;
    }
    if(n!=0)
    {
    max=n;
    min=n;
    posmax=i;
    posmin=i;
    }
    for(j=i+1;j<=nbr;j++);
    {
    printf("donnez un nombre entier\n");
    scanf("%d",&n);
    if(n==0)
    {
    nbrzero=nbrzero+1;
    if(n>=max)
    {
    max=n;
    posmax=j;
    }
    if(n<=min)
    {
    min=n;
    posmin=j;
    }
    }
    }
    printf("le plus grand nombre entré est %d",n);
    printf("la position du plus grand nombre entré est %d \n",posmax);
    printf("le plus petit nombre entré est %d \n",n);
    printf("la position du plus petit nombre entré est %d \n",posmin);
    printf("le nombre de zéro entré est %d \n",nbrzero);
      if(nbr=0)
    	 printf("le nombre des entiers doit étre superieur à zero \n");
      printf("si vous ne voulez pas refaire l'operation tapez 0 \n");
      scanf("%d",& reponse);
     }
    while(reponse=0);             :?:     :!: 
    }                                       :?:     :!:
    @ + + + + + + + + + + + + +

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut


    Repost ton code avec la baliste code et l'indentation tant qu'elle n'y sera pas personne ne repondra (c'est illisible ton truc)

  3. #3
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    while(reponse=0);
    je suis allé à la dernière ligne et voila ce que je trouve. ici tu ne compares pas reponse avec la valeur 0 tu affectes 0 à reponse ce qui est complétement différent.

    Ton test est toujours faux. Car cela équivaut à faire

    Puisque ce qui vaut 0 est faux alors ca revient à dire tant que faux.

    Tu comprends ?

  4. #4
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    Comme le code n'est pas mis en forme, je ne l'ai pas regardé en détail car ça fait mal aux yeux
    Mais comme tu parles des deux dernières lignes... Compares les à ces lignes qui sont plus haut dans le code et qui sont justes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    scanf("%d",&n);
    if(n==0)
    Tu ne remarques rien qui cloche avec tes deux denières lignes?

    Nas'

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: Corrigez un algorithme en C SVPV
    Citation Envoyé par m_c
    #include<stdio.h>
    Merci de lire les regles du forum...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
          if(nbr=0)
          <...>
       while(reponse=0);
    Attention. '=' n'est pas '=='.

    Il y a un ';' après le 'for'. C'est normal ?

    Tu confonds "nombre entier" et "nombre d'entiers". L'utilisateur est perdu, il ne sait pas ce qu'il doit taper...

    L'énoncé est assez intéressant... Il faut factoriser ton code. Ecris d'abord un algorithme avant de foncer dans le code en utilisant la méthode 'brute force'.

    Nota : Dans l'énoncé, il n'est pas demandé de gérer la répétition... Moi, je retire 2 points pour 'hors-sujet'...

    Voilà un début de reflexion. Je te laisse détailler :

    Enoncé :

    Ecrire un algorithme qui demande successivement N nombres à
    l’utilisateur et qui lui dise ensuite quel était le plus grands
    nombre différent de 0 et sa position ainsi le plus petit nombre
    différent de 0 et sa position. (en utilisant les structures de boucles)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
       saisir n
     
       FOR i = 1 TO n
          saisir entier
     
          IF entier <> 0
             determiner le maximum, memoriser la position
             determiner le minimum, memoriser la position
          ENDIF
       NEXT n
     
       afficher les resultats
    On pourrait aussi ne pas saisir le nombre d'entiers et se servir de 0 pour quitter la saisie...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
       DO
          saisir entier
     
          IF entier <> 0
             determiner le maximum, memoriser la position
             determiner le minimum, memoriser la position
          ENDIF
       WHILE entier <> 0
     
       afficher le resultat
    C'est Noël : une solution pour le deuxième algo...:
    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 <limits.h>
     
    int main()
    {
       int pos_min = 0;
       int pos_max = 0;
       int val_min = INT_MAX;
       int val_max = INT_MIN;
       int pos = 0;
       int n;
     
       do
       {
          {
             char s[16];
             fgets(s, sizeof s, stdin);
             n = (int) strtol(s, NULL, 10);
          }
     
          if (n != 0)
          {
             if (val_min > n)
             {
                val_min = n;
                pos_min = pos;
             }
             if (val_max < n)
             {
                val_max = n;
                pos_max = pos;
             }
          }
          pos++;
       }
       while (n != 0);
     
       printf ("val min = %d a %d\n"
               "val max = %d a %d\n"
               , val_min
               , pos_min
               , val_max
               , pos_max
              );
     
     
       return 0;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    45
    -56
    12
    568
    74
    0
    val min = -56 a 1
    val max = 568 a 3

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Emmanuel >> pour l'utilisateur "courant", le dénombrement commence à 1 pas à 0, donc -56 est en position 2 et 568 en position 4
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Par défaut
    Hello tout le monde. Je suis nouveau sur ce forum, et débutant en C.
    J'essaye de faire cet exercice, mais je n'y arrive pas, et la correction d'Emmanuel Delahaye me pose quelques problèmes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       int val_min = INT_MAX;
       int val_max = INT_MIN;
    Ce sont surtout ces deux lignes qui me posent problèmes. INT_MAX et INT_MIN sont-elles des fonctions dejà existantes, d'où l'appel à ces bibliothèques que je ne connais pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #include <stdlib.h>
    #include <limits.h>
    ou bien est-ce quelque chose d'autre que je ne comprends pas ? ^^.

    De mon coté je n'arrive à écrire que ça :


    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
     
    #include <stdio.h>
     
     
    void main(void)
    {
    	int min,max,entier,ask;
    	int posmax=0;
    	int posmin=0;
    	int nb=0;
     
     
    	printf("Combien de nombres voulez-vous entrer ?\n");
    	scanf("%d",&ask);
     
    	while (nb!=ask)
    	{
    		printf("Entrez un nombre entier : ");
    		scanf("%d",&entier);
     
                    /* voila toute la partie qu'il me manque :p */	
     
    		nb++;
    	}
    }
    J'ai déjà lu sur le forum qu'il ne fallait pas utiliser scanf, mais étant donné que je suis un débutant (uniquement à la page 57 de l'intro ANSI_C du site :p), j'essaye dans un premier temps de suivre ce qui est dit.
    Est-ce qu'il est possible de réaliser cet exercice avec ce début de code, ou bien me suis-je déjà trompé de voie ?

    Merci d'avance.

  8. #8
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par dynamite.kid
    Hello tout le monde. Je suis nouveau sur ce forum, et débutant en C.
    J'essaye de faire cet exercice, mais je n'y arrive pas, et la correction d'Emmanuel Delahaye me pose quelques problèmes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       int val_min = INT_MAX;
       int val_max = INT_MIN;
    Ce sont surtout ces deux lignes qui me posent problèmes. INT_MAX et INT_MIN sont-elles des fonctions dejà existantes, d'où l'appel à ces bibliothèques que je ne connais pas :
    Ce ne sont pas des bibliotheques mais des fichiers d'entetes (ou header)
    INT_MIX et INT_MAX ne sont pas des fonctions mais des constantes (#define) qui se trouvent dans limits.h (INT_MIN est le minimum q'un entier peut avoir et INT_MAX le maximum)

    Citation Envoyé par dynamite.kid
    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
     
    #include <stdio.h>
     
     
    void main(void)
    {
    	int min,max,entier,ask;
    	int posmax=0;
    	int posmin=0;
    	int nb=0;
     
     
    	printf("Combien de nombres voulez-vous entrer ?\n");
    	scanf("%d",&ask);
     
    	while (nb!=ask)
    	{
    		printf("Entrez un nombre entier : ");
    		scanf("%d",&entier);
     
                    /* voila toute la partie qu'il me manque :p */	
     
    		nb++;
    	}
    }
    J'ai déjà lu sur le forum qu'il ne fallait pas utiliser scanf, mais étant donné que je suis un débutant (uniquement à la page 57 de l'intro ANSI_C du site :p), j'essaye dans un premier temps de suivre ce qui est dit.
    Est-ce qu'il est possible de réaliser cet exercice avec ce début de code, ou bien me suis-je déjà trompé de voie ?

    Merci d'avance.
    Moi ca me parait bien parti (si on oubli le scanf) mais tu peut tres bien t'en tirer avec scanf

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Par défaut
    Désolé pour le vocabulaire .
    Si j'ai bien compris, INT_MIN et INT_MAX sont des valeurs.
    Comment se fait-il que dans le code d'Emmanuel Delahaye, il y est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (val_min > n)
             {
                val_min = n;
                pos_min = pos;
             }
    Comment val_min peut-il être strictement plus grand que n, si val_min est dejà le plus petit élement des int ?

  10. #10
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par dynamite.kid
    Désolé pour le vocabulaire .
    Si j'ai bien compris, INT_MIN et INT_MAX sont des valeurs.
    Comment se fait-il que dans le code d'Emmanuel Delahaye, il y est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (val_min > n)
             {
                val_min = n;
                pos_min = pos;
             }
    Comment val_min peut-il être strictement plus grand que n, si val_min est dejà le plus petit élement des int ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       int val_min = INT_MAX;
       int val_max = INT_MIN;
    val_min c'est le max
    val_max c'est le min

  11. #11
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Pour comprendre un algo il faut le tester à la main avec des exemples concrets, là tu comprendras tout, fais-le ce n'est absolument pas une perte de temps, et ça évite de poser ce genre de questions ...
    val_min étant initialisée avec le plus grand nombre entier possible dés qu'on trouve un nombre, celui-ci sera forcément plus petit, de même à chaque fois qu'on lira un nombre plus petit que celui mémorisé, et inversement pour val_max,
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Par défaut
    Citation Envoyé par Skyrunner
    Citation Envoyé par dynamite.kid
    Désolé pour le vocabulaire .
    Si j'ai bien compris, INT_MIN et INT_MAX sont des valeurs.
    Comment se fait-il que dans le code d'Emmanuel Delahaye, il y est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (val_min > n)
             {
                val_min = n;
                pos_min = pos;
             }
    Comment val_min peut-il être strictement plus grand que n, si val_min est dejà le plus petit élement des int ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       int val_min = INT_MAX;
       int val_max = INT_MIN;
    val_min c'est le max
    val_max c'est le min
    Je comprends mieux, désolé de ne pas avoir fait attention.

    Bon ma petite portion de code a évolué puisque j'arrive à avoir le plus grand et le plus petit, par contre je n'ai toujours pas la position :

    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
     
    #include <stdio.h>
    #include <limits.h>
     
    void main(void)
    {
    	int entier,ask;
    	int val_min=INT_MAX;
    	int val_max=INT_MIN;
    	int nb=0;
     
    	printf("Combien de nombres voulez-vous entrer ?\n");
    	scanf("%d",&ask);
     
     
    	while (nb!=ask)
    	{
    		printf("Entrez un nombre entier :");
    		scanf("%d",&entier);
     
    		if (entier > val_max)
    		{
    			val_max=entier;
    		}
     
    		if (entier < val_min)
    		{
    			val_min=entier;
     
    		}
     
     
    		nb++;
    	}
     
    	printf("Le plus grand nombre entre est :%d\n",val_max);
    	printf("Le plus petit nombre entre est :%d\n",val_min);
     
    	getch();
    }
    Comme ça, c'est correct ?

    EDIT : En fait il me semble que ça revient au même que ce qu'avait proposé Emmanuel Delahaye.

  13. #13
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par dynamite.kid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       int val_min = INT_MAX;
       int val_max = INT_MIN;
    Ce sont surtout ces deux lignes qui me posent problèmes. INT_MAX et INT_MIN sont-elles des fonctions dejà existantes,
    Des fonctions ? Sans parenthèses ? Non, ce sont des macros. Elles sont standards et définies dans l'entête <limits.h>. La lecture d'un bon livre de C semble urgente...
    d'où l'appel à ces bibliothèques que je ne connais pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #include <stdlib.h>
    #include <limits.h>
    Je ne vois aucune bibliothèque. Il s'agit de directives de compilations qui signifient en gros 'inclure l'entête <xxx.h>'. Une entête ne contient pas de code (sauf inline), mais des déclarations de fonctions et de variables, ainsi que des définitions de macros, constantes, types et structures.

    Ici, <limits.h> contient la définition de INT_MIN et INT_MAX qui définissent les valeurs minimale et maximales pout un int sur ton implémentation. (Le langage C définit des valeurs minimales, mais les valeurs réelles dépendent de l'implémentation).
    De mon coté je n'arrive à écrire que ça :
    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
     
    #include <stdio.h>
     
    void main(void)
    {
    	int min,max,entier,ask;
    	int posmax=0;
    	int posmin=0;
    	int nb=0;
     
    	printf("Combien de nombres voulez-vous entrer ?\n");
    	scanf("%d",&ask);
     
    	while (nb!=ask)
    	{
    		printf("Entrez un nombre entier : ");
    		scanf("%d",&entier);
     
                    /* voila toute la partie qu'il me manque :p */	
     
    		nb++;
    	}
    }
    Je te l'ai donnée, non ? Y'a-t-il autre chose que tu ne comprends pas ? L'algorithme pour déterminer min max ? C'est le coeur de ton problème, alors essaye d'y reflechir...

    sinon, si ton livre dit que main() est défini comme retournant void, change de livre.

    http://emmanuel-delahaye.developpez....s.htm#typemain

    si il te dit d'utiliser scanf(), même punition.

    http://emmanuel-delahaye.developpez....tes.htm#saisie
    http://emmanuel-delahaye.developpez....s.htm#fichiers
    J'ai déjà lu sur le forum qu'il ne fallait pas utiliser scanf, mais étant donné que je suis un débutant (uniquement à la page 57 de l'intro ANSI_C du site :p), j'essaye dans un premier temps de suivre ce qui est dit.
    Est-ce qu'il est possible de réaliser cet exercice avec ce début de code, ou bien me suis-je déjà trompé de voie ?
    Il y a des principes de base à connaitre, comme savoir définir main() correctement et savoir faire une saisie correcte.

    Ensuite, les problèmes d'algorithmie sont indépendants du langage. Leur implémentation, par contre, dépend des structures de codes à disposition (on évitera le goto, évidemment). Avec if, if-else, switch-case, for, while et do-while, on fait tout.

    Commence par écrire un algo correct "sur le papier" (feuille de papier, éditeur, traitement de texte, peu importe), et ensuite voit comment le coder.

Discussions similaires

  1. Formalisation graphique des algorithmes
    Par David R. dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 08/12/2012, 10h21
  2. Algorithme de randomisation ... ( Hasard ...? )
    Par Anonymous dans le forum Assembleur
    Réponses: 8
    Dernier message: 06/09/2002, 14h25
  3. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  4. Recherche de documentation complète en algorithmes
    Par Anonymous dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 29/03/2002, 12h09
  5. Algorithme génétique
    Par Stephane.P_(dis Postef) dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 15/03/2002, 17h14

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