Probleme de carré noir devant un résultat [Résolu]

jekburn 26 Messages postés jeudi 11 novembre 2004Date d'inscription 29 octobre 2009 Dernière intervention - 4 janv. 2005 à 23:38 - Dernière réponse : jekburn 26 Messages postés jeudi 11 novembre 2004Date d'inscription 29 octobre 2009 Dernière intervention
- 5 janv. 2005 à 14:29
Bonsoir je souhaiterais savoir si possible, si vous savez comment faire pour enlever un carré noir devant le résultat de mon programme.
merci

#include<stdio.h>
#include<string.h>


int main(){


char ch[255];
int i=0;
int n,reste;


printf("Rentrer un nombre:");
scanf("%d",&n);
while(n>0)
{
reste=n%16;
ch[i]=reste+48;
if(reste==10) ch[i]='a';
if(reste==11) ch[i]='b';
if(reste==12) ch[i]='c';
if(reste==13) ch[i]='d';
if(reste==14) ch[i]='e';
if(reste==15) ch[i]='f';
n=n/16;
i++;
}
for (i=strlen(ch);i>=0;i--)
{
putchar(ch[i]);
}
}
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 5 janv. 2005 à 14:09
3
Merci
Ah mon avis, cela vient de :



for (i=strlen(ch);i>=0;i--)
putchar(ch[i]);



Essaye avec :


for (i=strlen(ch)-1;i>=0;i--)
putchar(ch[i]);



DarK Sidious

[Administrateur et responsable VB/API du site ProgOtoP]

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
plus_plus_fab 232 Messages postés vendredi 9 janvier 2004Date d'inscription 8 janvier 2005 Dernière intervention - 4 janv. 2005 à 23:52
0
Merci
salut,



n'oublie pas que les chaines de caracteres sont AZT (a zero terminal)

Il faut mettre un 0 en fin de chaine :



ch[i] = '\0';

/* for (i=strlen(ch);i>=0;i--) */

/* { */

/* putchar(ch[i]); */

/* } */

puts(ch);
Commenter la réponse de plus_plus_fab
jekburn 26 Messages postés jeudi 11 novembre 2004Date d'inscription 29 octobre 2009 Dernière intervention - 5 janv. 2005 à 03:37
0
Merci
Rebonsoir j'ai suivi tes conseils mais maintenant il me met un double résultat, une fois a l'endroit, une fois à l'envers et il y a toujours le carré noir, j'ai tout essayé sauf les bonnes solutions...

#include<stdio.h>
#include<string.h>


int main(){


char ch[255];
int i=0;
int n,reste;


printf("Rentrer un nombre:");
scanf("%d",&n);
while(n>0)
{
reste=n%16;
ch[i]=reste+48;
if(reste==10) ch[i]='a';
if(reste==11) ch[i]='b';
if(reste==12) ch[i]='c';
if(reste==13) ch[i]='d';
if(reste==14) ch[i]='e';
if(reste==15) ch[i]='f';
n=n/16;
i++;
}
ch[i]='\0';
for (i=strlen(ch);i>=0;i--)
{
putchar(ch[i]);
}
puts(ch);
}
Commenter la réponse de jekburn
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 5 janv. 2005 à 07:32
0
Merci
Normal, ton putchar l'écrit dans le bon sens, alors que le puts l'écrit
dans le sens du tableau, donc à l'envers pour le résultat que tu vuex !



Tape plutôt ceci :



#include<stdio.h>
#include<string.h>


int main(){


char ch[255];
int i=0;
int n,reste;


printf("Rentrer un nombre:");
scanf("%d",&n);
while(n>0)
{
reste=n%16;
ch[i]=reste+48;
if(reste==10) ch[i]='a';
if(reste==11) ch[i]='b';
if(reste==12) ch[i]='c';
if(reste==13) ch[i]='d';
if(reste==14) ch[i]='e';
if(reste==15) ch[i]='f';
n=n/16;
i++;
}
ch[i]='\0';
for (i=strlen(ch);i>=0;i--)
putchar(ch[i]);
}

DarK Sidious
Commenter la réponse de cs_DARKSIDIOUS
plus_plus_fab 232 Messages postés vendredi 9 janvier 2004Date d'inscription 8 janvier 2005 Dernière intervention - 5 janv. 2005 à 11:32
0
Merci
a oué, j'avais pas vu que tu faisais du verlan :)

ch[i]='\0';
for (i=strlen(ch)-1;i>=0;i--)
putchar(ch[i]);
Commenter la réponse de plus_plus_fab
jekburn 26 Messages postés jeudi 11 novembre 2004Date d'inscription 29 octobre 2009 Dernière intervention - 5 janv. 2005 à 14:03
0
Merci
Bonjour,
J'ai tapé exactement le meme programme que Darksidious mais j'ai toujours ce maudit carré noir.Par exemple je veux convertir 1000 en hexa, ça me donne "
3e8 ", la valeur est bien inversée mais quoi que je fasse, il y a toujours ce carré noir devant par contre ci je n'inverse pas le résultat le carré noir disparait...

Please help !
Commenter la réponse de jekburn
jekburn 26 Messages postés jeudi 11 novembre 2004Date d'inscription 29 octobre 2009 Dernière intervention - 5 janv. 2005 à 14:29
0
Merci
Merci beaucoup.
Ca marche.
Commenter la réponse de jekburn

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.