En ce momentGenshin ImpactValhallaBreath of the wildAnimal CrossingGTA 5Red dead 2
Liste des sujets
J´aide les personne en C/C++
JeanYvesYves
Niveau 10
03 février 2005 à 18:39:30
ah bien ! !!! j´irai les tester ! car ça m´emmerde toujours d´installer quicktime et realplay
koyok > pour le * c´est simple :
il faut se dire que le pointeur contient une adresse, donc un nombre long on va dire. Si tu affiches la valeur du pointeur, tu affiches l´adresse, donc un nombre long ( et cout le met en hexa car il sait que c´est un pointeur) si tu affiches *p, alors tu affiche CE QUE REGARDE le pointeur, autrement dit ce qu´il y a à l´adresse indiquée...
regarde mon tuto 1.18 pour + de détails
jejej > faut utiliser des debugger
dnob700
Niveau 10
03 février 2005 à 18:46:59
koko-K il faut que tu utilise 2 cin.get() d´affilé, c´est pour d´obscure raison de flux et de vidage de lamémoire tampon, mais le premier lis direct un caractère de fin de ligne qui ets encore dans le flux.
donc tu fait : int main() { char t[]={0,1}; short* s=(short*)t; cout < < sizeof(s); cin.get();cin.get(); return 0; }
jejej, oui avec n´importe quel debugger il suffit de chercher le test qui va suivre l´instruction cin et de voir avec qui ta variable est comparée
sur newbie contest, tu parle de quel prog exactement ?
dnob700
Niveau 10
03 février 2005 à 18:52:44
oui, mais de toute façon le nebie contest, tout les programme sont écrit en VB, on ne peut pas comparer.
quand tu regarde l´assembleur d´un programme écrit en C ( pour regarder, pas pour faire quoi que ce soit d´illégale, juste pour comprendre comment il marche) c´est superbe tu vois la simplicité s´étaler devant toi dans sa forme la plus pure ( si le compilo est pas trop mauvais) alors qu´un truc en VB est une infame bouilli d´appel à la DLL vb qui fourni les fonction necessaire ( d´ailleur ça mets fin au débat pour savoir si le vb est interprété ou exécuté puisqu´il est réellement exécuté avec l´aide d´un grand nombre d´appel à une bibliothèque externe mais c´est pas pire que que la mscrt.dll).
cobradu94
Niveau 6
03 février 2005 à 19:00:52
merci . .. mais sa marche pas, si je remet a 0 le caractere_calcule le prog me decalera pas la lettre de 26 cran cette fois si mais de 0 puis de 1 et ensuite 2 etc... Mais il depassera quand meme les caracteres alaphabetiques ( les lettres)
cobradu94
Niveau 6
03 février 2005 à 19:02:25
et j´ai vu que tu a ecris if ( caractere_calcule>´z´) ´z´ est un nombre ? Si oui je comprend qu´on peut assigner un signe de superiorité. Si non je comprend pas pourquoi ( ce qui est le cas maitnenant)
LGV
Niveau 28
03 février 2005 à 20:41:52
oui, c´est la valeur ASCII du caractère ´z´, qui vaut 122 ( http://www.lookuptables.com/ )
tu peux donc faire des choses comme char c = ´a´; ++c; et pouf c vaut ´b´...
cobradu94
Niveau 6
03 février 2005 à 20:55:03
mais si c juste le decaler d´une lettre c´est trop simpliste
LGV
Niveau 28
03 février 2005 à 21:02:40
je ne te parle pas de l´application en tant que cryptage, mais je présentais simplement cela come une illustration du fait qu´un char est une valeur numérique.
cobradu94
Niveau 6
03 février 2005 à 21:09:31
a oki, merci Mais tu sais pas comment on peux faire une table personnelle ou on regle la valeur de chacune des lettre, et on choisi c´est carracter ( pour ma part que des lettre) ? ?
LGV
Niveau 28
03 février 2005 à 22:05:10
si, tu fais un mapping bidon : un tableau, tu files une valeur, il t´en files une autre en retour ; pouf c´est fini. Du style :
( attention que sur les 256 carac. de la tables, les 32 premiers ne sont pas imprimables...)
Mais en l´occurence ce sera ton tableau l´élement sécuritaire de ton cryptage, et ton tableau il apparaitra " plus ou moins" dans le binaire ( en fouillant un peu...) : il faudra donc aussi ( et surtout) sécuriser ton tableau ( en ne le stockant pas sous sa forme brute ; si tu peux par ex. le regenerer à chaque fois, selon un procede complexe, c´est déjà un peu mieux)
JeanYvesYves
Niveau 10
04 février 2005 à 09:20:40
cobradu94 > la table qui associe des caracteres aux numéros est la table ASCII et dans ASCII, il y a " S" qui veut dire standard comme tu ´las compris ´z´ retourne le code ASCII de la lettre z
XyTiX
Niveau 8
04 février 2005 à 23:49:50
le du jour
jejej
Niveau 9
05 février 2005 à 21:14:41
klr il est loin le topic la
Bon , moi j´aurais un petit problème avec des classes ( heritage + polymorphisme ) je poste le code : http://rafb.net/paste/results/BGN7Fi49.html
bon , les fonctions ( afficher ) ne font qu´ecrire a l´ecran , je n´utilise pas ecore sdl , ce n´est que du c++ pur
Mais j´ai quand meme ces erreurs à la compilation :
C:/Dev-Cpp/ClassesVirtuelles.cpp:47: error: prototype for `FondEcran::FondEcran(int, int, char*)´ does not match any in class `FondEcran´ C:/Dev-Cpp/ClassesVirtuelles.cpp:37: error: candidates are: FondEcran::FondEcran(const FondEcran&) C:/Dev-Cpp/ClassesVirtuelles.cpp:41: error: FondEcran::FondEcran(int, int, int*)
C:/Dev-Cpp/ClassesVirtuelles.cpp: In member function `virtual void FondEcran::AfficherImage()´: C:/Dev-Cpp/ClassesVirtuelles.cpp:54: error: syntax error before string constant
C:/Dev-Cpp/ClassesVirtuelles.cpp: In function `int main()´: C:/Dev-Cpp/ClassesVirtuelles.cpp:71: error: no matching function for call to `FondEcran::FondEcran(int, int, const char[11])´ C:/Dev-Cpp/ClassesVirtuelles.cpp:37: error: candidates are: FondEcran::FondEcran(const FondEcran&)
voila , si quelqu´un acceptait de corriger quelques unes de ces erreurs . .. parceque , je suis le né dans mon bouquin de c++ , et j´ai bien l´impression que je fait a peu pres la meme chose que lui ( bon , c´est pas le cas parceque ca compile pas , ou alors il est nul . .. )
merci beaucoup
jejej
Niveau 9
05 février 2005 à 21:17:51
OMgggggg bon oubliez tout , oubliez le code , oubliez moi ^^
je reparcours une derniere fois mon code en desespoir de cause , et je me rends compte que j´ai ecris int *NI pour ma chaine de caractere
vraiment désolé , mea culpa , etc etc bon j´ai encore une erreur , j´ai un syntax error before string constant lors de AfficherImage::FondEcran
mais je vois pas d´ou elle vient . ..
jejej
Niveau 9
05 février 2005 à 22:24:29
Bon , je laisse tomber ces bidules , et je passe a du serieux : un puissance 4
En fait , ca serait pour chambrer un pote qui m´a humilie en cours ( 5/2 ) donc je voudrais realiser un petit jeu de puissance 4 avec une chtite AI qui le battrait a tous les coups
Bon , pour l´instant j´en suis pas encore la , puisque je me pose la question de l´initialisation du plateau de jeu
ca serait un carre de 7*7 , donc je declare un tableau ( int Plateau[7][7]; ) mais comment initialiser toutes les cases a zero ? parceque , si je fait ( for i=0 i<7 , i++ ) { Plateau[i][i) =0 , ca va initialiser que la diagonale du plateau de jeu . .. ) bizarre
Mais pour un tableau que tu es en train d´initialiser ya pitêtre encore plus simple ?
jejej
Niveau 9
05 février 2005 à 23:31:49
la je suis tout rouge et j´essaie de disparaitre sous mon bureau pk j´y ai pas pense ^^ merci beaucoup en tout cas
fuzzy_eyebrow
Niveau 9
05 février 2005 à 23:34:05
sinon à la définitiion tu peux faire:
int Plateau[7][7] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
mais ça n´initialisera qu´au début.
jejej
Niveau 9
05 février 2005 à 23:36:22
Fuzzy_Eyebrow , c´est justement ce que j´evitais de faire , parceque si je souhaite agrandir plus tard mon tableau c la panique 8*8 = 64 zeros a ecrire ? houlolo merci qd meme
bon , maintenant reste le probleme de l´ai , mais j´ai toute la nuit pour ca
fuzzy_eyebrow
Niveau 9
05 février 2005 à 23:45:27
si tu essaies d´agrandir ton tabealu tu ne pourras simplement pas. tu ne peux pas passer de 7*7 à 8*8 comme ça. si tu veux agrandir prévoit une alloc dynamique.