Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Langage C > Apparition d'un smiley > Lecture du sujet

Apparition d'un smiley

dans la console ...

Vous devez être inscrit pour pouvoir poster des messages

RésoluLe problème de ce sujet a été résolu

Page : 1 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : 1 
Hors ligne Zandra # Posté le 09/05/2008 à 15:04:28
tel est cru qui croyait cuire
Avatar
Groupe : Membres
Bonjour :)


Je réalise un programme qui associe à un mot un nombre. Le but est de trouver le ou les mots qui correspondent à un certain nombre.

A partir de boucles, je génère les mots possibles de 4 lettres, puis je trouve les nombres qui correspondent.
Ma console doit donc m'afficher (par exemple) :
Code : Console
aaaa 1551254
aaab 5125642
aaac 45106551


Sauf que j'ai des " :) " qui apparaissent, je ne comprends pas pourquoi.
Google ne m'a rien appris, sinon pourquoi les smileys sont jaunes :p
Copie écran : Image utilisateur

Je n'avais pas de problème en faisant la même chose pour des mots de trois lettres :o

Mon code (même si je ne pense pas qu'il serve à grand chose ^^ ):
Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main(int argc, char *argv[])
{


    char tab[]="                   azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@";//86
    char password[] = "souris";
	char login4[4];
	
    float sum  = 1;
	float checksum = 3696619;
	
    int i[7];
    int j;
    

    int index1,index2;
    char sub;
    char *fin = NULL;
    int ok = 0;
    int vara;
   
/**************************** 4 ***********************************/
        for(i[0]=0;i[0]<86;i[0]++)
        {
            login4[0] = tab[i[0]];
			for(i[1]=0;i[1]<86;i[1]++)
			{
				login4[1] = tab[i[1]];
				for(i[2]=0;i[2]<86;i[2]++)
				{
					login4[2] = tab[i[2]];
					for(i[3]=0;i[3]<86;i[3]++)
					{
						login4[3] = tab[i[3]];
						printf("\n%s",login4);
						for (j=0;j<6;j++)
						{
							//Index1
		
							if (j>1)
								index1 =  10;
							else
							{
								sub = login4[j];
								fin = strchr(tab,sub);
								index1 = 96 - strlen(fin);
							}
		
							// Index2
					
							sub = password[j];
							fin = strchr(tab,sub);
							index2 = 96 - strlen(fin);
							//Somme
				
							sum = sum+(index1*6*(j+1))*(index2*(j+1)*(j+1));
		
						}
						printf(" %lf ",sum);
		
						if (sum == checksum)
						{
							i[0] = 86;
							i[1] = 86;
							j = 6;
							printf("\n\n\n%s est bon",login4);
							ok = 1;
						}
					}
				}
			}
        }
    if(!ok)
    printf("\n\n Echec") ;
	return 0;
}


Merci d'avance pour vos réponses

Édité le 10/05/2008 à 18:03:36 par Zandra
Hors ligne 1337833K # Posté le 09/05/2008 à 15:06:55
fgsfds
Groupe : Membres
Le :) est un caractère standard dont la valeur est 0 dans la plupart des jeux de caractères.

Image utilisateur
Big Brother is watching you.
The chocolate is a lie !
Vous pouvez faire un geste gratuit pour changer le monde. :)
Libérez quelqu'un et quelqu'un-d'autre !
 
Hors ligne Zandra # Posté le 09/05/2008 à 15:10:17
tel est cru qui croyait cuire
Avatar
Groupe : Membres
Ok :) , mais pourquoi il me l'affiche tout le temps, alors que lorsque j'ai fait la même chose avec trois lettres au lieu de 4 il n'apparaissait pas ?


edit : maintenant, il m'affiche des trèfles :-°
Édité le 09/05/2008 à 15:12:17 par Zandra
Hors ligne magnanime # Posté le 09/05/2008 à 16:05:34
Avatar
Groupe : Membres
les premiers caractères ('\u0', '\u1', '\u2') en console sont les moins courants.
Hors ligne Duarna # Posté le 09/05/2008 à 17:38:53
Avatar
Groupe : Membres
Tu dois dépasser la taille de ton tableau et lire une partie de la mémoire qui n'as rien à voir, d'où des caractères étranges.
Hors ligne int21h # Posté le 09/05/2008 à 17:56:47
Groupe : Membres
Ton code ne compile pas
Code : Console
test.c(71) : error C2065: 'login' : identificateur non déclaré
Hors ligne aska990 # Posté le 10/05/2008 à 01:17:00
Je vais manger moult frites !
Avatar
Groupe : Membres
☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕...

preuve que ces caractères existent dans l'ordinateur

alors après, comment t'as fait pour les afficher... :-°
 
Hors ligne Zandra # Posté le 10/05/2008 à 18:05:19
tel est cru qui croyait cuire
Avatar
Groupe : Membres
Citation : int21h
Ton code ne compile pas
Code : Console
test.c(71) : error C2065: 'login' : identificateur non déclaré


C'est login4 et non login, j'ai du le supprimer en copiant le code :-° Citation : Duarna
Tu dois dépasser la taille de ton tableau et lire une partie de la mémoire qui n'as rien à voir, d'où des caractères étranges.


Oui, le problème était là. Merci pour ta réponse :)
Hors ligne montblanc # Posté le 10/05/2008 à 20:28:39
Do not feed the troll
Avatar
Groupe : Membres
Quand le programme accède à une partie de la mémoire qui n'est pas à lui, l'OS n'est pas censé intervenir pour couper le programme?

L'ordinateur obéit à vos ordres, pas à vos intentions.
 
Hors ligne 1337833K # Posté le 10/05/2008 à 21:41:16
fgsfds
Groupe : Membres
Citation : montblanc
Quand le programme accède à une partie de la mémoire qui n'est pas à lui, l'OS n'est pas censé intervenir pour couper le programme?

Oui. Mais dans certains cas bug, le programme accède à ses propres variables, mais d'une mauvaise façon.
Édité le 10/05/2008 à 21:45:02 par 1337833K

Image utilisateur
Big Brother is watching you.
The chocolate is a lie !
Vous pouvez faire un geste gratuit pour changer le monde. :)
Libérez quelqu'un et quelqu'un-d'autre !
 

Retour au forum "Langage C" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 210 Zéros connectés | Requêtes SQL 9 requêtes | Temps de génération de la page : Total (SQL) 0.0706s (0.0515s)