InToX86 a écrit 3 commentaires

  • # Enfin pas de warnings mais résultat incorrect

    Posté par  . En réponse au message Warnings de compilation et résultat incorrect. Évalué à 0 (+0/-1).

    Merci à vous.
    Je suis vraiment débutant c'est pour ca je n'ai pas pu déterminer l'emplacement des erreurs.
    Maintenant j'ai mis les * là ou il faut mais le résultat est encore erroné.
    Je vous demande juste de m'aider à comprendre ou figure l'erreur, je vais essayer de la corriger par la suite.

    include

    void soussequences (int* t, int n, int* nbseqcrois, int* inddebpgs, int* indfinpgs)
    {
    int i, tailleseq, indseq, taillepgs;
    tailleseq = 1;
    taillepgs = 0;
    *nbseqcrois = 1;
    for(i=0; i<n-1; i++)
    {
    if(t[i]<=t[i+1])
    tailleseq++;
    else
    {
    *nbseqcrois=*nbseqcrois+1;
    if(taillepgs<tailleseq)
    {
    *inddebpgs = i - tailleseq + 1;
    taillepgs=tailleseq;
    }
    tailleseq=1;
    }
    }
    if(taillepgs<tailleseq)
    {
    *inddebpgs= i - tailleseq + 1;
    taillepgs = tailleseq;
    }
    *indfinpgs = *inddebpgs + taillepgs - 1;
    }

    void remplir(int* t , int n)
    {
    int i=0;
    for(i=0;i<n;i++)
    {
    printf("donner la case numero %d :", i+1);
    scanf("%d",t+i);
    }
    }

    void positif(int* n)
    {
    do
    {
    printf("donner le nbre d'element du tableau :");
    scanf("%d",n);
    }
    while(*n<=0);
    }

    int main ()
    {
    int n=0;
    int t[20];
    positif(&n);
    remplir(t,n);
    int nbseqcrois=0, inddebpgs=0, indfinpgs=0;
    soussequences(t, n, &nbseqcrois, &inddebpgs, &indfinpgs);
    printf("Nombre sequences croissantes: %d\n", nbseqcrois);
    printf("Indice de début de la plus grande sequence croissante: %d\n", inddebpgs);
    printf("Indice de fin de la plus grande sequence croissante: %d\n", indfinpgs);
    }

  • # Un autre essai

    Posté par  . En réponse au message Problème avec le renvoi au menu principal. Évalué à 1 (+0/-0). Dernière modification le 20/11/20 à 07:53.

    Voilà,

    J'ai essayé de simplifier le code en éliminant l'interrogation de l'utilisateur pour continuer ou non (pour revenir directement au menu).
    En répondant à votre remarque, j'ai mis toute les instructions dans une boucle do white mais je trouve toujours le même problème .

    Voilà un autre essai (fonction main):
    je suis encore perdu :(

    float main()
    {
        int l ;
        float s;
        printf("************************************************\n**** Solveur de polynome ****\n************************************************\n\n");  
        do
        {
        l=lirechoix();
            if (l==1)
            {
                s=premier();
            }
            else if (l==2)
            {
                s=second();
            }
        scanf("%f",&s);
        }
        while (l!=3);
    }
  • # Perdu :(

    Posté par  . En réponse au message Problème avec le renvoi au menu principal. Évalué à 1 (+0/-0).

    Pareil avec le déplacement de l'accolade ça affiche un premier résultat puis ne renvoie pas le menu.
    C'est vrai je pense qu'il y a une boucle infinie mais je n'ai pas pu déterminer l'emplacement exacte :(