Posté le 09/07/2015 21:49
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 255 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
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.
Citer : Posté le 09/07/2015 21:58 | #
Un petit pastebin ? Ça serait cool
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 :
{
Cette boucle assure qu'il n'y aura aucune collision (chiffres identiques).
Ensuite, afficher simplement les chiffres :
ft_putchar(j + '0');
ft_putchar(k + '0');
Sans oublier la virgule et l'espacement :
ft_putchar(' ');
}
Je teste, ça devrait fonctionner.
Citer : Posté le 09/07/2015 22:02 | #
Rho, faut pas donner la réponse toute faite x)
Citer : Posté le 09/07/2015 22:03 | #
Darks, ta solution n'était de toute évidence pas optimisée...
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
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.
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
{
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);
}
}
}
}
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 !
Citer : Posté le 09/07/2015 22:19 | #
En sortie :
Ajouté le 09/07/2015 à 22:20 :
D'ailleurs il manque un bout à mon code. Bref, t'as compris.