Salut
je voudrai saisir et afficher 2 tableaux à une dimention de chaine de caractère et d'entier
Salut
je voudrai saisir et afficher 2 tableaux à une dimention de chaine de caractère et d'entier
Bonjour
si j'ai bien compris,tu voudrait saisir un tableau contenant une chaine de caracteres et un tableau d'entiers parcequ'un tableau de chaine de caracteres est un tableau à deux dimensions.
Dans les deux cas la solution est tres simple.
en Tout cas si ma supposition est vraie il suffit de declarer un tableau de char auquel tu vas affecter ta chaine(lue au clavier grace a un scanf("%s",&chaine) ou à un gets qui est néanmoins deconseillée)
http://www.info2.uqam.ca/~makarenkov_v/Cours4.pdf
Pour les int tu le fait grace à une" boucle" dans laquelle tu effectue une lecture puis une affectation à tableau[i]
En tout cas j'espere avoir repondu à ta question qui n'est pas tres claire
Bonjour ,
Pour le tableau d'entier c'est tres simple tu fais
pour le tableau de chaîne de caractère
Code : Sélectionner tout - Visualiser dans une fenêtre à part int tableau_entier[10] // la taille du tableau 10 mais si tu peux faire une allocation dynamique c'est mieux !
apres le reste c'est simple tu utilises une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part char tableau_chaine[tailledutableau][taille de la chaine] //![]()
Salut,
Tu peux aussi faire comme ça :
La fonction fgets permet "d'enregistrer" dans la chaîne de caractères buffer au maximum *length caractères, lus sur le flux d'entrée stdin (le clavier).
L'avantage est que tu pourras écrire une chaîne de X caractères, la fonction fgets n'en prendra que les *length caractères qui est la taille de ton buffer. Cela évite donc les problèmes si jamais la chaîne saisie est supérieure à la taille du buffer.
Après la saisie il y a ce bout de code :
Cela permet de remplacer le retour à la ligne '\n', quand tu valides ta saisie avec entrée, par '\0' qui est le caractère de contrôle de fin de chaîne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 *length=0; while ( *buffer != '\0' ) { if ( *buffer == '\n' ) *buffer = '\0'; buffer++; (*length)++; } fflush(stdin); return 1;
Cordialement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 int read_stdin( char *buffer, unsigned long long int *length ) { if ( buffer ) { if ( fgets( buffer, *length, stdin ) ) { *length=0; while ( *buffer != '\0' ) { if ( *buffer == '\n' ) *buffer = '\0'; buffer++; (*length)++; } fflush(stdin); return 1; } else return 0; } else return -1; } int main() { int length=50; char *buffer = malloc(length*sizeof(char)); if ( read_stdin( buffer, &length )==1 ); printf("%s",buffer); return 0; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager