Aide langage C
Résolu
CALiiMERO
Messages postés
69
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Qui peut m'aider à faire ça s'il vous plaît :
Ecrire un programme C qui permet de stcker un nombre de chaine de caractère de taille maximal 10 dans un tableau D de dimension fini. et les affichers
Merci d'avance.
Cordialement,
CALiiMERO
Qui peut m'aider à faire ça s'il vous plaît :
Ecrire un programme C qui permet de stcker un nombre de chaine de caractère de taille maximal 10 dans un tableau D de dimension fini. et les affichers
Merci d'avance.
Cordialement,
CALiiMERO
A voir également:
- Aide langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage visual basic - Télécharger - Langages
- Langage basic gratuit - Télécharger - Édition & Programmation
12 réponses
Salut,
Oui, on peut t'aider, mais pour cela faut que tu postes ce que tu as commencé à faire ou dire ce que tu comprends pas.
Oui, on peut t'aider, mais pour cela faut que tu postes ce que tu as commencé à faire ou dire ce que tu comprends pas.
Je n'ai rien commencer encore j'ai un peu du mal puisque je viens de commencer à apprendre ce langage.
Si on te demande de le faire, c'est que tu en as le niveau. Donc tu peux sûrement commencer à faire quelque chose. Sinon, voici un petit tutoriel https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c où tu pourras renforcer tes connaissances.
Sinon tu peux commencer par expliquer l'algorithme, comment tu comptes t'y prendre.
Sinon tu peux commencer par expliquer l'algorithme, comment tu comptes t'y prendre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai un problème avec la chaine de caractère que l'utilisateur de programme va insérer, j'ai mis :
printlf ("Entrer une chaine de caractère")
printlf ("Entrer une chaine de caractère")
Oui il faut faire une boucle.
Pour lire un mot c'est scanf("%9s",&mot);
Une boucle c'est avec while.
Et le tableau c'est char tab[NB_ELT][10];
Pour lire un mot c'est scanf("%9s",&mot);
Une boucle c'est avec while.
Et le tableau c'est char tab[NB_ELT][10];
#include <stdin.h>
#include <stdio.h>
#define MAX=10
main()
{
char D[MAX];
int L; /* L est la longueur de la chaine de caractère */
int C; /* C est le Caractère d'entrer */
int i; /* i est un compteur (indice) */
printf (''Entrer une chaine de caractère'')
L=0;
char s[];
for (i=0; 0<MAX-1; ++i)
{
while (C=getchar()!=EOF && C!=\n')
s[i]=C;
}
if ( C == '\n')
{
s[i]=C;
++i;
}
s[i]='\0';
L=i;
if (L <= 10)
D=s;
printf (''%s'', D)
}
#include <stdio.h>
#define MAX=10
main()
{
char D[MAX];
int L; /* L est la longueur de la chaine de caractère */
int C; /* C est le Caractère d'entrer */
int i; /* i est un compteur (indice) */
printf (''Entrer une chaine de caractère'')
L=0;
char s[];
for (i=0; 0<MAX-1; ++i)
{
while (C=getchar()!=EOF && C!=\n')
s[i]=C;
}
if ( C == '\n')
{
s[i]=C;
++i;
}
s[i]='\0';
L=i;
if (L <= 10)
D=s;
printf (''%s'', D)
}
Tu n'as pas utilisé un char à deux dimensions. Donc ça peut pas marcher.
Pas de signe égal dans le define. Juste #define MAX 10
#include <stdin.h> n'existe pas.
char s[]; ne peut pas être utilisé puisque la dimension n'est pas spécifiée à la compilation.
Voici l'algorithme :
T'as juste à le coder en C. Et tu n'as pas besoin d'autres variables.
La prochaine fois, utilise la balise de conservation du code (à droite du bouton souligner) et respecte l'indentation comme dans mon algorithme. C'est beaucoup plus agréable à lire :-).
Pas de signe égal dans le define. Juste #define MAX 10
#include <stdin.h> n'existe pas.
char s[]; ne peut pas être utilisé puisque la dimension n'est pas spécifiée à la compilation.
Voici l'algorithme :
Tab : tableau de chaîne de caractères (en C : char tab[NB_ELT][MAX];) i : entier Pour i de 0 à NB_ELT - 1 faire : Lire tab[i] //maximum MAX lettre Fin Pour Pour i de 0 à NB_ELT - 1 faire : Afficher tab[i] FinPour
T'as juste à le coder en C. Et tu n'as pas besoin d'autres variables.
La prochaine fois, utilise la balise de conservation du code (à droite du bouton souligner) et respecte l'indentation comme dans mon algorithme. C'est beaucoup plus agréable à lire :-).
#include <stdio.h> #define MAX 10 main() { char[NB_ELT] [MAX]; int i; for (i=0; i< NB_ELT – 1; ++i) scanf([i]) for (i=0; i< NB_ELT – 1; ++i) printf ([i]) }
je crois que j'ai eu du mal à traduire les deux mots :
Lire tab[i]
Afficher tab[i]
J'attend votre aide :)
Merci beaucoup.
Ah, c'est beaucoup beaucoup mieux.
Tu as oublié de définir NB_ELT qui contient le nombre de mots que tu peux caser dans le tableau.
Je te mets en gras toutes les modifications que j'ai apportées.
Cdlt
Tu as oublié de définir NB_ELT qui contient le nombre de mots que tu peux caser dans le tableau.
Je te mets en gras toutes les modifications que j'ai apportées.
#include <stdio.h> #define MAX 10 #define NB_ELT 5 int main(void) { char tab[NB_ELT][MAX+1]; //il ne faut pas oublier de stocker le '\0' final et le nom du tableau int i; for (i=0; i< NB_ELT; ++i) //pas besoin de mettre - 1 puisqu'il s'agit d'inégalité stricte scanf("%9s",tab[i]); //j'ai mis 9 pour éviter les débordements, tu peux l'enlever si tu ne comprends pas. for (i=0; i< NB_ELT; ++i) puts(tab[i]); // ou printf("%s\n",tab[i]); return 0; }
Cdlt