@GurneyH : Quand j'ai posté c'était pas ces fonctions qui étaient affichées.
Oui je m'était trompé j'avais mis `p` à la place de position et `n` à la place de nb. Et j'ai édité pendant qu'il postait
Et pour la deuxième j'ai corrigé. (Problème de signe (ce n'est pas -1 mais +1 et pas +nb mais -nb))
/*******************************************************************
* *
* Affichage 7 ségments sur console *
* *
********************************************************************/
/* ------- Ecrit par UKNOW-------- */
#include "header.h"
//------------------------MAIN---------------------------------------
int main()
{
long n ,i,j;
char DisplayMap[LIGNES][COLONNES];
do{
printf("Entrez n : ");
scanf("%ld",&n); //Saisi du nombre en question
if(n == 0) break; //condition de fin du programme
InitDM(DisplayMap); //Effacer la table d'affichage
RefreshDM(DisplayMap,n); //Mise à jour de la table d'affichage en fonction de la saisie
ShowDM(DisplayMap); //Affichage de la table d'affichage
}while(n>0);
return 0;
}
//-------------------------------------------------------------------
Au total 15 minutes de réflexion et 1h15 de (codage + debug) donc ça va ^^. Qu'en penses tu ?
Il faut que je regarde plus en profondeur...
Ce qui me surprend, c'est qu'il me semble que tu es bien orienté "électronique", et tu proposes un code assez "lambda"... Mais, ce n'est pas une critique!
@hightam: Je regarde demain, mais ton code est très concis!
Ce qui me surprend, c'est qu'il me semble que tu es bien orienté "électronique"
J'avoue. C'est un concept comme un autre mais bon il suffit de regarder mon avatar après tout un microprocesseur n'est qu'un circuit électronique
Citation : GurneyH
et tu proposes un code assez "lambda"... Mais, ce n'est pas une critique!
Je ne sais pas ce que tu veux dire par un code assez "lambda" Mais bon j'avoue que pour une application "aussi simple" mon code est assai compliqué à comprendre par n'importe qui sans documentation .
@highTam: Ca fonctionne impec.
Tu peux faire encore plus court, en utilisant un tableau à 2 dimensions
char line[3][40] = {"", "", ""};
avec un boucle.
Peut-être un peu trop de nombre magique (10, 40, 4) dans ton code, mais sinon, c'est exactement ce qu'il fallait faire.
@uknow: par "lambda", je voulais dire que ta solution pour cet exercice, était plus ou moins ce qu'on fait sans utiliser les opérateurs bitwise.
En gros, je m'attendais à ce que tu les utilises.
Le dernier exercice était un poil trop dur je pense, mais celui-là est accessible à tous à partir du moment où on réfléchi un peu.
Dans ton post pour demander ce que veulent les débutants il n'y a eu (pratiquement) que les gens avec un niveau acceptable (non débutant s'entend) qui ont répondus. Si les débutants ne disent pas clairement ce qu'ils veulent (ou ne font pas les exos) je pense que (et c'est bien dommage) ce n'est pas la peine de continuer.
Pas assez de temps ? -> Je ne pense pas.
Trop compliqué ? -> Je ne pense pas.
Quelle est la raison alors ? -> Place aux demandeurs d'exos ...
Comme l'a dit Pouet_forever l'exercice précédant sur les grands entiers était assez dur pour des débutants bien qu'en passant un peu de temps dessus on pouvait réussir à avoir quelque chose de potable.
Encore une fois Pouet l'a dit avant moi, très peu de vrai débutants s'essaye à tes execices (plus surprenants encore des débutants demandent des fois des exercices adaptés pour eux sur le forum or ce topic est fait pour eux mais on ne les voit pas).
Ensuite, pour en venir à l'exercice de cette quinzaine, il n'y a pas vraiment de difficultés pour parvenir à un algorithme naïf tel que celui de uknow. De plus cet exercice a l'avantage de pouvoir être abordé de différentes façons :
comme en électronique on on analyse l'état des (4) entrées pour agir en conséquences grâce aux expressions des segments.
En testant pour quel chiffre on doir allumer tel segment (uknow)
Ou encore utiliser une chaîne modèle et "piochée" dedans comme l'a fait HighTam
Ensuite il faut voir avec les vrais débutants (qui passent malheureusement trop souvent) pour savoir les exercices qu'ils voudraient. Bien que la, ils ont tout les exercices qu'il faut et surtout il ont une personne compétente qui supervise le tout.
En conclusion, si les débutants viennent tant mieux pour eux il ont tout à gagner, dans le cas contraire il n'y aura plus rien à faire.
Si vous pouviez expliquer ce que vous souhaitez trouver dans les exercices...
Je suis vraiment ouvert à toutes les demandes!...
Une chose est certaine, je ne continue pas un an, à ce rythme!
C'est probablement moi, qui suis à coté de la plaque, mais exprimés vos désirs, svp!
c'est dommage qu'effectivement pas beaucoup exprime leur talent !
personnellement je trouves les exos ardus, mais ça me fait progresser et j'essaye de participer comme je peux....
Je crois que le problème vient du fait de trouver un noyau qui a le même niveau et qui n'as pas peur de montrer ce qu'il sait faire..
Et qu'aussi les débutants pensent fabriquer des jeux en cliquant des doigts...... et qu'ils s'apercoivent peut être qu'il faut beaucoup de travail personnel pour aboutir à un petit truc.....
Autrement le principe j'adhère à 800% : l'enonce est clair, la correction est magistrale, excellente....je trouves pas de qualificatif à la hauteur du travail accompli....
(c'est combien le bonet d'âne il m'en faudrait au moins un)
Moi je l'ai fait mais j'avoue que les autres je n'ai pas forcément eu le courage de les faire car c'était trop compliqué pour mon niveau. Mais celui-ci me paraissait à ma portée et d'ailleurs j'ai réussi avec un peu (beaucoup) d'aide de votre part j'avoue mais j'ai réussi
Tu devrais écouter les personnes qui te disent d'écrire
int i, j;
for(i = 0; i < T; ++i) {
for(j = 0; j < L; ++j)
Il y a une raison.
Même en te faisant la remarque 50.000 fois, en te plantant dans chaque code où tu utilises des boucles imbriquées tu ne veux pas mettre i=0 et j=0 dans tes for, là franchement je bloque.
Ya une raison particulière ? Si tu veux pas utiliser le for comme il se doit t'as qu'a utiliser les boucles while ou do...while.
Je pense que tu devrais écouter ton compilo aussi. (ce n'est que des suggestions mais en général elles sont de bonne augure )
main.c: In function ‘z_lcd’:
main.c:17: warning: suggest parentheses around arithmetic in operand of |
main.c:17: warning: suggest parentheses around arithmetic in operand of |
main.c:17: warning: suggest parentheses around arithmetic in operand of |
main.c:17: warning: suggest parentheses around arithmetic in operand of |
main.c:17: warning: suggest parentheses around arithmetic in operand of |
main.c:17:87: warning: C++ style comments are not allowed in ISO C90
main.c:17:87: warning: (this will be reported only once per input file)
main.c:20: warning: suggest parentheses around arithmetic in operand of |
main.c:20: warning: suggest parentheses around arithmetic in operand of |
main.c:20: warning: suggest parentheses around arithmetic in operand of |
main.c:20: warning: suggest parentheses around arithmetic in operand of |
main.c:23: warning: suggest parentheses around arithmetic in operand of |
main.c:23: warning: suggest parentheses around arithmetic in operand of |
main.c:26: warning: suggest parentheses around arithmetic in operand of |
main.c:26: warning: suggest parentheses around arithmetic in operand of |
main.c:26: warning: suggest parentheses around arithmetic in operand of |
main.c:26: warning: suggest parentheses around arithmetic in operand of |
main.c:29: warning: suggest parentheses around arithmetic in operand of |
main.c:29: warning: suggest parentheses around arithmetic in operand of |
main.c:29: warning: suggest parentheses around arithmetic in operand of |
main.c:32: warning: suggest parentheses around arithmetic in operand of |
main.c:32: warning: suggest parentheses around arithmetic in operand of |
main.c:32: warning: suggest parentheses around arithmetic in operand of |
main.c:35: warning: suggest parentheses around arithmetic in operand of |
main.c:35: warning: suggest parentheses around arithmetic in operand of |
Je n'en ai pas, mon compilo est pas très sévère sous windows.
De toute façon, le "|" n'est pas prioritaire sur le "&". C'est le même principe que la multiplication et l'addition si je me trompe pas (et si j'ai compris les warnings).
Je n'en ai pas, mon compilo est pas très sévère sous windows.
De toute façon, le "|" n'est pas prioritaire sur le "&". C'est le même principe que la multiplication et l'addition si je me trompe pas (et si j'ai compris les warnings).
Les parenthèses te permettent d'être sur de toi. Ici ça passe, mais tu aura des surprises...
En passant, le but d'utiliser les opérateurs bitwise ici, c'est d'utiliser 4 bits.
Tu utilises 4 int soit 4 * la taille d'un int sur ta plateforme!
Pour le coup, ça sert juste à rendre le code confu...
Et, le but ce n'était pas de transposer ça
Citation : wikipédia
En notant les Entrée 1, 2, 3, 4 du tableau ci-dessus respectivement i1, i2, i3 et i4, les équations des segments(pour afficher les nombres de 0 à F) sont:
* a = (not(i1) and i3) or (i1 and not(i4)) or (i2 and i3) or not(i2 or i4) or (i1 and not(i2) and not(i3))or (not(i1) and i2 and i4)
* b = not(i1 or i2) or not(i2 or i3) or not(i2 or i4) or (not(i1) and not(i3 xor i4)) or (i1 and not(i3) and i4)
* c = (i1 xor i2) or (not(i3) and i4) or (not(i3 xor i4) and not(i2))
* d = (i1 and not(i3)) or not(i1 or i2 or i4) or (i2 and (i3 xor i4)) or (not(i2) and i3 and i4)
* e = not(i2 or i4) or (i3 and not(i4)) or (i1 and i2) or (i1 and i3)
* f = (i1 and not(i2)) or not(i3 or i4) or (not(i3) and (i1 xor i2)) or (i1 and i3) or (i2 and not(i4))
* g = (i3 and (i1 or not(i2) or not(i4))) or (i1 and i4) or (not(i3) and (i1 xor i2))
On peut retrouver ces équations en établissant la table de Karnaugh de chaque segment ; il existe d'autres possibilités de formules.
à la lettre.
Personnellement, la version qui stocke les chiffres sur 7 bits, me semble bien plus intéressante.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Objectif Zéro Bug - le test logiciel professionnel | L'électronique de zéro | Tableaux & pointeurs | Pointeurs sur fonctions | Lecture/écriture binaire
Objectif Zéro Bug - le test logiciel professionnel | L'électronique de zéro | Tableaux & pointeurs | Pointeurs sur fonctions | Lecture/écriture binaire
Objectif Zéro Bug - le test logiciel professionnel | L'électronique de zéro | Tableaux & pointeurs | Pointeurs sur fonctions | Lecture/écriture binaire
Objectif Zéro Bug - le test logiciel professionnel | L'électronique de zéro | Tableaux & pointeurs | Pointeurs sur fonctions | Lecture/écriture binaire