Programme en c

Fermé
riima - Modifié par riima le 1/03/2011 à 04:32
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 1 mars 2011 à 14:05
Bonjour, je m'appelle marie

j'ai eu à faire un programme qui permet d'insérer un nouvél élément dans une position donnée, aprés avoir compilé et entré toutes lé valeurs, la fenêtre se barre!
je voudrai savoir ce qui se passe!!
merci

voila ce que j'ai fait.

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define dim 100


main()
{int n, i,o,d;
float tab[dim];

printf("donner le nombre de valeur du tableau");
scanf("%d",&n);


for(i=0;i<n;i++)

{
printf("donner la valeur de tab[%d]=",i);
scanf("%f",&tab[i]);
}



printf("donner la valeur a inserer");
scanf("%f",&d);

printf("indice");
scanf("%d",&o);

for(i=n;i>o;i--)
{
tab[i]=tab[i-1];

tab[o]=d;
}


getch();}


3 réponses

Crazy Legs Messages postés 635 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 27 septembre 2016 98
Modifié par Crazy Legs le 1/03/2011 à 08:25
Salut, je crois qu'il vaut mieux faire ceci également (pas sûr pas testé) :

for(i=n;i>o;i--) 
{ 
tab[i]=tab[i-1]; 
tab[o]=d; 
} 


Changer en :

for(i=n;i>o;i--) tab[i]=tab[i-1]; 
tab[o]=d;


J'aide les personnes qui ont un problème dans certaines sections du forums.
0
coucou!!
ça marche toujours pas!!!

mon pc est surement fou.
0
Crazy Legs Messages postés 635 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 27 septembre 2016 98
1 mars 2011 à 13:41
Qu'est-ce qui ne marche pas ?
La fenêtre s'efface toujours ?

Rajoute int devant le main et un return 0;
Enfin, utilises-tu la console d'un EDI ou Linux ?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
1 mars 2011 à 08:33
Salut.
normalement main se déclare en int et retourne une valeur.
Il est possible qu'il y ait un problème de buffer clavier non vide qui fait que le getch() est sauté. Mets en 2, ou met un printf juste avant pour être sur.
0
hi!
ça marche pas avec les 2 getch () et ni avec le printf f!!!
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
1 mars 2011 à 14:05
met le retour de getch dans une variable, peut être qu'avec les optimisations il fait des trucs qu'il ne devrai pas.
L'idéal est de lancer ton programme dans une console, comme ça tu vois mieu ce qui se passE.
0
Bonjour,

system("PAUSE");

ou wait(100); (vérifier la fonction wait)
-1
coucou
j'ai essayer mais ça passe toujours pas!!!

ou peut être que je l'ai mal placé .
0