Les tableaux

Fermé
coumbasarr Messages postés 2 Date d'inscription dimanche 28 juin 2015 Statut Membre Dernière intervention 28 juin 2015 - Modifié par coumbasarr le 28/06/2015 à 02:36
ellana29460 Messages postés 689 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 12 septembre 2015 - 29 juin 2015 à 10:25
bonsoir je suis débutante en langage c en dans ce forum
je voudrais ecrire un programme qui demande a l' utilisateur de saisir la dimension du tableau,afficher les elements du tableau, trier le tableau par ordre croissant et decroissant je travail avec dev c++.J'ai besion de votre aide s'il vous plait
merci !

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
28 juin 2015 à 14:00
Bonjour,

Montre-nous ce que tu as commencé à faire et dis-nous là où tu bloques.
Sans ça, on ne peut pas t'aider.

Cdlt,
0
coumbasarr Messages postés 2 Date d'inscription dimanche 28 juin 2015 Statut Membre Dernière intervention 28 juin 2015
28 juin 2015 à 23:31
bon j'ai commencé a faire ceci
# include <stdio.h>
int main ()
int i
int t[x]
printf ("entrer la dimension du tableau");
scanf("%d",&x)
{
for(i=1;i<=x;i++)
printf("t[%d]",i);
scanf("%d",&t[i]
}
je ne sais pas si c'est bon vue que je suis nul en c et je compte beaucoup sur vous pour m'aider a m'améliorer merci
0
ellana29460 Messages postés 689 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 12 septembre 2015 172 > coumbasarr Messages postés 2 Date d'inscription dimanche 28 juin 2015 Statut Membre Dernière intervention 28 juin 2015
29 juin 2015 à 02:42
je formate ce code comme il devrait l'être :

# include <stdio.h>
int main ()
{
    int i;
    int t[x]; //cette ligne va planter à la compilation : on ne peut pas d"finir un tableau de dimention x comme ca en C (je connais plus l'astuce...)
    printf ("entrer la dimension du tableau");
    scanf("%d",&x);
    for(i=1;i<=x;i++)
    {
        printf("t[%d]",i);
        scanf("%d",t[i]); //pour un tableau, pas besoin de mettre le & devant le nom de la variable (question de pointeur, un peu compliqué pour un débutant)
    }
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844 > ellana29460 Messages postés 689 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 12 septembre 2015
29 juin 2015 à 06:36
scanf("%d",t[i]); //pour un tableau, pas besoin de mettre le & devant le nom de la variable (question de pointeur, un peu compliqué pour un débutant)
Ben si. Il faut le &. t[i] n'est pas pas un pointeur...
0
ellana29460 Messages postés 689 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 12 septembre 2015 172
29 juin 2015 à 07:16
ah oui, bien vu. ca fait 2 ans que je n'ai pas fait de C (mon prof nous fait faire du java, donc les pointeurs, ca fait longtemps que j'en ai ps utilisé).

dommage que je puisse pas modifier mon commentaire précédent...
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 juin 2015 à 07:29
Et il y a aussi la boucle for qui est fausse. Les tableaux commencent à l'indice 0. Comme en java ;-). J'ai tout mis dans mon 1er post.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 juin 2015 à 00:02
Bonjour,

Les bases ne semblent pas acquises. Je te conseille de lire : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c

Sinon quelques remarques :
int main ()
Il manque l'accolade ouvrante.

Il manque des points virgules en fin de la plupart des instructions.

int t[x]
Tu ne peux pas faire ça. Tu dois mettre un nombre pas une variable. Si tu ne sais vraiment pas, et qe tu ne veux pas choisir un nombre maximum, il te faudra passer par les pointeurs.

{
for(i=1;i<=x;i++)

L'accolade doit se mettre après le for, pas avant.
Les tableaux commencent à l'indice 0. Il faut donc faire :
for(i=0;i<x;i++) {


scanf("%d",&t[i]
Il manque la parenthèse finale (et le point virgule).

Tu as oublié le
return 0;


Pour le tri, tu peux regarder du côté du tri à bulle.

Note : la prochaine fois, n'oublie pas d'utiliser la balise <code c>. Exemple : <code c>ici tu mets ton code</code>
0