CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Prob en C : chaine de caracteres

Keioz
Keioz
Niveau 7
27 avril 2006 à 18:09:02

Bonjour,

j´ai un prog à réaliser en C, et bon, je bloque un peu sur le début.
J´essaie de faire pr l´instant un prog ki copie ds une chaine de caractere nom2 tous les caracateres de nom1 ki sont placés avant le signe ´+´.

Voici le code source :

  1. include<stdio.h>
  2. include<stdlib.h>
  3. include<string.h>

int main()
{char nom1[10]; char nom2[10]; char car; int i;
printf("Entrez votre chaine de caractere\n");
scanf("%s",nom1);
for(i=0; nom1[i] != ´+´; i++){ strcpy(&car,&nom1[i]);
strcat(nom2, &car);}
printf("Voici nom2 qui contient ts les caracteres avant le ´+´: %s",nom2);
getchar();
getchar();
getchar();
return 0;
}

Pouvez-vous me dire ce ki ne va pas, sans bien sur me donner tte la réponse ?
C´est un peu la fonction essentielle de mon prog, et si j´arrivais à resoudre le prob, ca irait mieux pr la suite.

Merci.

PS : je risque de ne pas répondre tt de suite.

Keioz
Keioz
Niveau 7
27 avril 2006 à 18:37:44

Désolé, ca y´est j´ai résolu le prob, il suffisait d´un

for(i; nom1[i] != ´+´; i++){ nom2[i]=nom1[i];}

Encore :desole:
Je vais enfin pouvoir vraiment me mettre au travail...

dnob700
dnob700
Niveau 10
30 avril 2006 à 00:30:39

si tu utilise cette méthode il est important d´écrire un caractère 0 à la fin de ta chaine nom2 (en dehors de la boucle, tu écrit nom2[i]=0) pour indiquer à printf où se trouve la fin de la chaine et donc éviter les débordement de mémoire.

Keioz
Keioz
Niveau 7
30 avril 2006 à 00:45:35

Ok, d´accord.

Sinon, j´voulais un conseil : en fait j´dois programmer une calculatrice en C, ki mémorise aussi les affectations de variable (ex: x=156; créé une variable x avec comme valeur 156).

Pour les affectations de variable, je vais utiliser une liste chainée avec
a->nom = nom de la variable
a->val = valeur de la variable
a->suite = suite....

Mais pour les expressions du genre 123+458-98+325+45*2-5

Les chiffres je dois aussi les mémoriser ds une autre liste chainée ?
Paske on connait pas la longueur de l´expression, et le nombre d´élts, donc on sait pas combien de variable char nom2 on doit créer.

J´sais pas si j´suis clair, j´espere.

blip
blip
Niveau 6
30 avril 2006 à 01:21:17

Les arbres bianire sont très prtiques pour représenter des expressions arithmétiques: un noeud étant un opérateur, les feuilles représentant les valuers imédiates.
ex:
. . . *
.15 . +
. . .7 . 5

pour représenter 15*(7+5)

Pour ton problème, il vaut mieux stocker directement les nombres dans des entiers(ou des flotants), plutôt que de passer par une chaine de carctères, ça te faciliteras les caluls

Keioz
Keioz
Niveau 7
03 mai 2006 à 21:01:58

:ok:

Le probleme, c´est que je n´ai jamais fait d´arbre binaire, on n´avait pas vu ca en cours.
Mais le prof nous a dit que ca serait + pratique de faire un arbre binaire.

Donc je vais voir les tutos sur le net.
Ca doit etre + pratique les arbres binaires, pr gérer la priorité des opérateurs.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment