S'inscrire ! Pass oublié ?
Hyjoo
Portail Forums Jeux Flash Chat IRC Annuaire
Google

[Résolu][Programmation]Saisie d'entier en langage C
Section : Informatique
Logiciels et materiel PC


Actualiser  Hyjoo > Forums > Le village > Informatique > [Résolu][Programmation]Saisie d'entier en langage C

[Résolu][Programmation]Saisie d'entier en langage C : Discussion sur le forum Informatique (Logiciels et materiel PC : Informations et discussions sur les ordinateurs, les logiciels ou le materiel pc, la programmation et le high tech en général.)

 
Rechercher dans la discussion
 RésoluProgrammationSaisie d'entier en langage C
 Informatique : Logiciels et materiel PC
20/02/2006, 15h49 #1
Derf4002 
Ombre

Derf4002

Saisie d'entier en C

Salut
Bon voila j'ai un ptit problème et j'aurais aimé savoi si quelqu'un pourrait m'aider... Aloir bon tout d'abord je me suis mis assez récemment au C (avant je ne codais qu'en ADA dans le cadre de mes études) et j'aimerais pouvoir une chose qui m'était possible de faire en ADA, mais en C. La question pourra certainement paraitre bete mais bon tant pis...
En gros j'auais voulu savoir comment on peut faire en C, pour rentrer une liste d'entier dans un tableau à une dimension ?
J'ai essayer avec un : fgets(chaine, 80, stdin) (avec chaine mon tableau, 80 sa taille et stdin le clavier) mais le problème c'est qu'il me met un caractère par case et non pas un entier par case...
Pour etre plus clair, je voudrais avoir à tapper :
10 12 45 0 pour mettre 10 dans la première case, 12 dans la seconde, etc... Bon voila j'espere avoir était assez clair ^^'
Derf4002 est déconnecté(e) Voir une photo de Derf4002 sur son profil
20/02/2006, 16h02 #2
Vidow 
Séraphin
Modérateur Info

Vidow

Re : Saisie d'entier en C

Pour ce code, il va tout d'abord te falloir fixer une taille a ton tableau.

Je te prévien, je ne me suis jamais attarder sur le C ( auquel je me remes gentillement.... ), donc la solution que je vais te proposer n'est peut etre pas la meillieur.....


Code:
int n = 10; // le nombre d'agument que tu veux passer.
int* tab[n]; // Création d'un tableau de pointeur vers Entier.

int i;
for(i=0,i<n,i++) {
  scanf("%d", &tab[i]); //scanf va renvoier un pointeur vers l'entier saisie au 
//clavier dans le tableau de pointeur.
}


Et voila.

Ps : je l'ai pas testé.....
Vidow est déconnecté(e) Voir une photo de Vidow sur son profil
20/02/2006, 16h23 #3
Derf4002 
Ombre

Derf4002

Re : Saisie d'entier en C

Oué bon j'y étais presque >_< j'avais fais une c****rie d'erreur qui faisait que... bref, merci à toi ^^ Par contre il y avais quelques erreurs minimes de syntaxes dans ton code donc je veais le remettre corrigé (histoire de me ratrapper )
Code:
int main()
{
int i, n = 10;
int* tab[n];

for(i=0;i<n;i++) 
  scanf("%d", &tab[i]);
for(i=0;i<n;i++) 
  printf("%d ", tab[i]);
}


J'ai rajouté une boucle affichage aussi ^^
Voila, thx
Derf4002 est déconnecté(e) Voir une photo de Derf4002 sur son profil
20/02/2006, 20h59 #4
Neosadness 
Ombre

Neosadness

Re : [Résolu][Langage C]Saisie d'entier

Heu ça fait longtemps que j'en ai fais, mais pour ce qui a été demandé les pointeurs ne sont pas nécessaires.


Si tu veux un tableau avec une "longueur" prédéfinie votre exemple est bon même si * n'est pas nécessaire.

Dans le cas contraire, une incrémentation de la variable n à chaque saisie.

ainsi qu'un getch(); pour vider le buffer d'entrée.
Neosadness est déconnecté(e)
20/02/2006, 21h25 #5
Amiral 
Séraphin

Amiral

Re : [Résolu][Langage C]Saisie d'entier

Citation
Posté par Neosadness
pour ce qui a été demandé les pointeurs ne sont pas nécessaires.


Ouh là, oui ! un int* tab[] est un tableau de pointeurs, c'est à dire un tableau à deux dimensions. Pour info, int* tab[] équivaut à int**.
Amiral est déconnecté(e) Voir une photo de Amiral sur son profil
20/02/2006, 21h44 #6
Phaco 
Dieu supérieur

Phaco

Re : [Résolu][Langage C]Saisie d'entier

ouep, int tab[] suffit largemennt
Phaco est déconnecté(e)
20/10/2006, 15h06 #7
srichert 
Ombre

srichert

Re : [Résolu][Programmation]Saisie d'entier en langage C

slt, il y a de quoi tout ce mélanger en langage C en ce qui concerne les pointeurs...

voici un petit récapitulatif sur les déclarations de tableaux :

la déclaration char tab[2][3] réserve 2*3=6 cases pour les 6 caractères du texte composés de 2 lignes et de 3 colonne.

la déclaration char *tab[2] permet de gagner de la place mémoire, en effet, il s'agit içi d'un tableau de 2 pointeur de caractères.

Enfin, il existe aussi une déclaration **tab qui signifie " pointeur de pointeur de caractères" . On peut le qualifier de tableau dynamique.

Voila, j'espère que c'est plus clair. ciao
srichert est déconnecté(e) Voir une photo de srichert sur son profil

Navigation rapide:

« Discussion précédente | Discussion suivante »
Emplacement :
Actualiser  Hyjoo > Forums > Le village > Informatique > [Résolu][Programmation]Saisie d'entier en langage C

Utilisateurs regardant cette discussion : 0 ( membre(s) et 0 invité(s))

Discussions similaires 
Discussion Auteur Forum Réponses Dernier message
[Résolu]Imprimante Faern Informatique 9 16/12/2005 19h17
[Résolu][PB] Partitionner Kudoz Informatique 1 11/12/2005 15h47
Langage vampirique tcheng Gehenne (V3) - Divers 14 13/04/2004 11h33
Forum programmation Stumpy Le laboratoire 14 16/10/2003 18h51
Nécromancie : Abus de langage - Ambre - La 4ème Prophétie 1 17/02/2003 18h38
Rechercher dans cette discussion 
Rechercher dans cette discussion:

Recherche avancée


Fuseau horaire GMT +1. Il est actuellement 20h30.

Edité par vBulletin - Copyright © 2000-2005 Jelsoft Enterprises Limited
Copyright © Hyjoo - Tous droits réservés