Probleme de logique

Bonjour à tous , je fais des études d’informatique industrielle , et j’ai 2 examens à repassé dans 3 semaine , je dois repasser Language C et Analyse en C. Mais j’ai quelques difficultés,je connais très bien les possibilités du C mais je n’arrive pas à les appliquer convenablement , je n’ai pas la logique (j’ai du mal) et je voulais savoir s’il existait des livres ou quelque chose qui pourrait m’aider car j’aime vraiment ce que je fais mais je constate par moi meme que je n’ai pas encore eu le déclic.Pouvez m’aider svp. Merci

Ton problème de logique vient peut être du manque de pratique, en ce sens ce livre me semble un bon choix.

Je te conseille d’apprendre la théorie des ensembles et tout ce qui tourne autour d’ici 3 semaines, ça te donnera une bonne base de logique.
Plus sérieusement, le meilleur moyen pour progresser, c’est de s’entrainer comme a dit KarLKoX. Tu peux aussi tenter d’apprendre des schémas par coeur (du style : pour ce type de problème, on utilise tel type d’algorithme, etc), mais c’est une stratégie limitée.

Bon courage

+1

j ai aussi fais ce genre d etude et je me souvient des trucs du genre gestion de pile fifo lifo …ce genre de truc bien prise de tete ! :lol:

Alors pour ma part je suis un zéro en programmation, en revanche pour ton problème de logique la pratique semble une bonne solution.

Pour ma part j’ai “appris” le peu que je sais en php à force de faire l’alpha test d’une script de forum. Au fil du temps, et des corrections à apporter à mes versions alpha qui m’étaient données par les développeurs j’ai commencé à mieux saisir la logique de fonctionnement.

Récement j’ai commencé à coder une petite application en php pour mon stage, et après 3000 questions à sans-nom, kisscool et les autres, ben maintenant je demande beaucoup moins ^^

Evidement le C ca doit être bien plus complexe :confused: Bonne chance en tout cas !

Le C n’est pas complexe, c’est l’aspect gestion directe de la mémoire qui est rébutant.

En même temps quand sans-nom dit qu’un truc est simple c’est pas gage de facilité pour le commun des mortels :smiley: :ane:

tss.

La logique c’est un point inhérant à tout algorithme. La gestion de la mémoire, tu ne l’as pas en php, c’est implicite : $s = ‘xx’; ça déclare une chaîne, paf ça bouffe son tas d’octets, au revoir.

Le C c’est toi qui alloue, etc. Sans oublier les problèmes systèmes (fork, exec, pthread, etc) qui impliquent de revoir légérement son logisme (genre avec les process un algorithme peut être coupé en plein milieu de son action, aïe?)

bref…

Je connaissais pas ce problème. C’est HS, mais tu peux expliciter ou me donner un lien steup ?

Ahhhh, les process … Il a été gentil Sans-Nom en ne vous énumérant que ces quelques exemples et ce problème d’arrêt de process :wink:
Je ne sais pas à quoi faisait allusion Sans-Nom exactement mais un process peut être arreté par une alarm, un signal précis, un thread tué par un autre, un pere qui tue son fils ou pire, un fils qui tue son père (on entre en plein mélodrame), problème de synchronisation interprocessus (un process attend l’action d’un autre, la tache consistant à le tuer une fois l’action effectuée mais problème de synchro, il le tue avant qu’il ai fini) etc etc …
Un lien fort sympathique :slight_smile:

Bref, ça peut casser tout algo :slight_smile:

:riva: Moi qui pensais commencer à me débrouiller en C, jsuis pas sorti d’la verge, comme dirait Gad Elmaleh.

un livre sur la logique et les math booléennes : le livre qui rend fou

c rigolo

http://www.eyrolles.com/Informatique/Livre…0aa6bdccb08a1dc

rien que la couverture du bouquin ca te déprime :smiley:

Ca change des mots croisés de mémé :ane:

Faut pas avoir peur hein, l’algo (celui que j’ai fait à la fac en tout cas) n’est pas inintéressant, et totalement sorti du contexte d’un langage (encore que).

(la bourde)

j’ai vu ce livre en magasin mais trop complexe pour moi , je me contenterai du livre sur les exercices en C :wink:

par la même occasion , est-ce que quelqu’un sait m’expliquer qu’est ce qu’un pointeur de pointeur (je sais c’est quoi un pointeur), par exemple **ptr ?
Est-ce un rapport avec les tableaux et le passage d’arguments au main ?,
merci pour vos réponse si vous savez expliquer clairement.

je n’ai pas trouvé de doc sur le net.

Simple : un pointeur est l’adresse d’un truc.
Un pointeur de pointeur c’est l’adresse d’un pointeur ^^ :smiley:

Plus prosaïquement, **ptr = * (*ptr)

Typiquement, ptr est un pointeur et *ptr permet d’obtenir la valeur à l’adresse pointée par ptr (y a aussi des considérations de type), *ptr étant donc récupéré, y a plus qu’à récup. *(*ptr).

Mais bref, sans le type c’est pas si simple (à expliquer).

ok ok merci pour l’explication :slight_smile:

donc si j’ai bien compris

a=6500;
ptr=&a;

donc ptr => *ptr=6500 et si je fais *(*ptr) => il déférence à l’adresse 6500 , et affiche une valeur inconnue ?