Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Discussions


Index du Forum » Discussions » Questions informatiques
Eltoredo Hors ligne Modérateur Points: 4299 Défis: 35 Message

Questions informatiques

Posté le 09/07/2015 21:49

http://prntscr.com/7qsv49

Voilà l'exercice, qu'en dites-vous ? Que répondriez-vous ?

C'est pour aider mon frère


Dark storm Hors ligne Labélisateur Points: 11541 Défis: 176 Message

Citer : Posté le 09/07/2015 21:57 | #


Il veut faire 42 ?
Bref, là c'est hyper simple, c'est trois boucles imbriquées avec des conditions pour sauter des étapes, je faisais ça en seconde… ><
Je ne le posterai pas volontairement, mais j'en ai pour 20 lignes, prototypage et déclarations de variables comprises.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eltoredo Hors ligne Modérateur Points: 4299 Défis: 35 Message

Citer : Posté le 09/07/2015 21:58 | #


Un petit pastebin ? Ça serait cool
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Lephenixnoir En ligne Administrateur Points: 20999 Défis: 143 Message

Citer : Posté le 09/07/2015 22:01 | #


On pourrait penser à une triple boucle complète, mais non.
En fait, si on fait une triple boucle on va itérer 9^3 fois alors que le nombre de combinaisons uniques est bien plus réduit : seulement 8*7 + 7*6 + 6*5 + ... + 2*1 = 168 si je ne dis pas trop de bêtises.

Il faut boucler comme ça :
for(i=0; i<=9; i++) for(j=i+1; j<=9; j++) for(k=j+1; k<=9; k++)
{

Cette boucle assure qu'il n'y aura aucune collision (chiffres identiques).
Ensuite, afficher simplement les chiffres :
    ft_putchar(i + '0');
    ft_putchar(j + '0');
    ft_putchar(k + '0');

Sans oublier la virgule et l'espacement :
    ft_putchar(',');
    ft_putchar(' ');
}

Je teste, ça devrait fonctionner.
Dark storm Hors ligne Labélisateur Points: 11541 Défis: 176 Message

Citer : Posté le 09/07/2015 22:02 | #


Rho, faut pas donner la réponse toute faite x)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 20999 Défis: 143 Message

Citer : Posté le 09/07/2015 22:03 | #


Darks, ta solution n'était de toute évidence pas optimisée...
Dark storm Hors ligne Labélisateur Points: 11541 Défis: 176 Message

Citer : Posté le 09/07/2015 22:11 | #


J'avais mal compris le sujet (je pensais à "tout les nombres dont les 3 chiffres sont différents"). Bref, c'est sur que vu comme ça la tienne respecte les consignes
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 20999 Défis: 143 Message

Citer : Posté le 09/07/2015 22:11 | #


Bon, j'ai corrigé mes <9 en <=9, le code donné ici fonctionne tout seul.
En plus il est optimisé, il ne fait que les itérations nécessaires (4.3 fois moins que toi Darks ).

Reste à remplacer virgule et espace à la fin par un retour à la ligne.
Dark storm Hors ligne Labélisateur Points: 11541 Défis: 176 Message

Citer : Posté le 09/07/2015 22:17 | #


Je répète, le mien ne fais pas la même chose
Vu qu'il ne respecte pas la consigne, je le met, il ne servira à rien pour Elto

void fonction(void)
{
    int i, j, k;
    for(i = 0; i <= 9; i++)
    {
        for(j = 0; j <= 9; j++)
        {
             if(i == j) j++;
             for(i = 0; i <= 9; i++)
             {
                 if(i == k) k++;
                 if(j == k) k++;

                 put_char(toutes les merdes);
              }
         }
    }
}


Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eltoredo Hors ligne Modérateur Points: 4299 Défis: 35 Message

Citer : Posté le 09/07/2015 22:19 | #


Ce n'est pas pour moi à la base Mais c'est réglé pour cet exercice normalement, merci !
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Dark storm Hors ligne Labélisateur Points: 11541 Défis: 176 Message

Citer : Posté le 09/07/2015 22:19 | #


En sortie :

012, 013, 014, 015, …, 102, 103, etc.


Ajouté le 09/07/2015 à 22:20 :
D'ailleurs il manque un bout à mon code. Bref, t'as compris.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 68 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd