Langage c"les liste"
kika333
Messages postés
12
Statut
Membre
-
Azer_Ty Messages postés 108 Statut Membre -
Azer_Ty Messages postés 108 Statut Membre -
Bonjour,
je recherche une solution pr exercice qui demande a ecrire en c une liste chainée de chaine de caractére qui représent un nombre entier;puis :multiplier le par 10; div par 10.svp mes amie aider moi pleaaaaaaasssssse!!.gros bisou.
je recherche une solution pr exercice qui demande a ecrire en c une liste chainée de chaine de caractére qui représent un nombre entier;puis :multiplier le par 10; div par 10.svp mes amie aider moi pleaaaaaaasssssse!!.gros bisou.
Configuration: Windows XP Internet Explorer 6.0
A voir également:
- Langage c"les liste"
- Langage ascii - Guide
- Liste déroulante excel - Guide
- Langage binaire - Guide
- Liste déroulante en cascade - Guide
- Liste des appareils connectés - Guide
4 réponses
bonjour
pour connaitre la valeur en chiffre d'une chaine de caracteres
dans le langage ocaml il y a une fonction qui s'appelle " int of string " qui te donne la partie entière d'une chaine de caractères
mais en c++ je ne sais pas si ca existe
je m'excuse pour ne pas t'avoir répondre et aussi pour le retard
dans le module algorithmique et structures de données de cette année on a démarré par des cours de langage c++ mais on a pas encore bien abordé les listes chainées
pour connaitre la valeur en chiffre d'une chaine de caracteres
dans le langage ocaml il y a une fonction qui s'appelle " int of string " qui te donne la partie entière d'une chaine de caractères
mais en c++ je ne sais pas si ca existe
je m'excuse pour ne pas t'avoir répondre et aussi pour le retard
dans le module algorithmique et structures de données de cette année on a démarré par des cours de langage c++ mais on a pas encore bien abordé les listes chainées
kika333
Messages postés
12
Statut
Membre
1
salut merci pour avoir intesser a mon probléme.bn8
Je ne sais pas si ça t'aide, mais c'est une fonction qui convertie les chaines de caractères en entiers
Bonne continuation.
#include <stdio.h>
#include <stdlib.h>
// on décompose l'entier de cette manière
// ex : "123" devient 1*100 + 2*10 + 3*1
// d'où la puisance de 10
// pour les caractères en entier
// si '0' equivaut à 48 en entier
// alors '1' est égal à 49, '2' à 50, ...
// d'où '5' - '0' = 53 - 48 = 5
int convertirEntier(char *maChaine)
{
int i=0; // compteur
int tailleChaine=0; // taille de la chaine en paramêtre
int monInt=0; // entier converti (si erreur sera égal à -1)
int puissanceDix=1; // puissances de 10
// on parcourt la chaine complete ou la fin de la mémoire (255 caractères)
while(maChaine[i] != '\0' && i != 256) // le caractère \0 correspont à la fin d'une chaine
{
i++;
}
if(maChaine[i] != '\0') // cas d'erreur
return -1;
tailleChaine = i; // affectation de taille
for(i = 0; i < tailleChaine - 1; i++) //calcul de la puissance de 10 nécessaire
puissanceDix = 10 * puissanceDix;
// on parcourt la chaine à nouveau en décomposant
for(i = 0; i < tailleChaine; i++)
{
if(maChaine[i] < '0' || maChaine[i] > '9') // cas d'erreur
return -1;
// conversion
monInt = monInt + puissanceDix * (int)(maChaine[i] - '0');
//recalcul de la puissance
puissanceDix = puissanceDix / 10;
}
return monInt;
}
int main(void){
char *maChaine;
int monEntier;
maChaine = (char*)malloc(sizeof(char) * 255);
printf("Saisie de maChaine: ");
scanf("%s", maChaine);
printf("Ma chaine: \"%s\"\n", maChaine);
monEntier = convertirEntier(maChaine);
printf("Mon entier: \"%d\"\n", monEntier);
free(maChaine);
return 0;
}
Bonne continuation.