J'ai un problème de programmation à résoudre

Résolu/Fermé
rem's - 23 oct. 2008 à 21:29
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 - 23 oct. 2008 à 21:53
Bonjour,
Salut, à tous, j'ai un besoin urgent d'identifier la source de mon problème.
Le voici :

J'ai écrit un petit programme en C sous dev++, le but de ce petit programme est de recevoir 15 chiffre dans un tableau, et de les ordonner dans l'ordre croissant.

le programme se compile bien, la fenêtre s'ouvre, et je rentre mes 15 chiffres. Une fois rentrer j'appuie sur 'entrer' pour ordonner au programme de trier dans l'ordre croissant, mais au lieu qu'il effectue le tri, une fenêtre d'erreure m'indiquant qu'on est désoler de devoir interrompre, et me propose d'envoyer un rapport d'erreure ( et tuti quanti ) je suppose que vous voyez de quelle fenêtre d'erreure je parle.

Ce qui me trouble c'est evidemment que mon porgramme ne fonctionnne pas, mais c'est aussi que le compilateur ne signale rien et que par contre une fenêtre window s'affiche. Je vous collle le code du programme si vous voulez bien y jeter un oeil, voir (pour les geni de l'informatique qui traine dans les parages) le résoudre, formidable !
------------------------------------------------------------------------------------
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

int main(int t[15], int i, int j, int temp, int argc, char *argv[])
{
printf("donner 15 valeurs entieres (presentation libre) : \n");
for (i=0 ; i<15 ; i=i+1)
scanf ("%d", &t[i]) ;
for (i=0; i<14; i=i+1)
for (j=i+1 ; j<15; j=j+1)
if (t[i]>t[j]) {temp = t[i];
t[i] = t[j];
t[j]=temp ;
}
printf ("voici les valuer affichees dans l'odre non croissant :\n") ;
for (i=0 ; i<15; i=i=1)
printf ("%d", t[i]);
printf("Press ENTER to continue...\n");
getchar();
return 0;
}
---------------------------------------------------------------------------------------------

à bientôt
A voir également:

5 réponses

Bonsoir,

int main(int t[15], int i, int j, int temp, int argc, char *argv[])

Hum !

Manu
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
23 oct. 2008 à 21:35
Pas faux, j'avais même pô vu !
int main(int argc, char *argv[])

serait mieux...
-1
Salut manu, je comprend que ça choque ces déclarations, mais pourtant, je n'arrive pas à faire autrement, là je pense savoir pourquoi : c'est parce que j'ai pris la tructure de l'exemple "hello world" d'illustration de dev ++ ( j'avais déjà eu qq souci pour apprivoiser l'environnement). Mais malgrés ces déclarations ( qui me m'ont surprises tout autant que toi) d'autre petits programme on fonctionner, donc je ne pense pas que pour celui ci cela soit la cause. Mais si tu peux m'indiquer comment crer un projet totalement vierge, je suis aussi preneur ! :)

en tout cas merci pour ta réponse.

au fait est ce que tu l'as essayé sur ton ordi, et qu'est ce que ça donne chez toi ?
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
23 oct. 2008 à 21:43
Tu as testé en supprimant la boucle infinie ?

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

int main( int argc, char *argv[] )
{
  int t[15];
  int i, j, temp;
  printf("donner 15 valeurs entieres (presentation libre) : \n");
  for (i=0 ; i<15 ; i=i+1)
    scanf ("%d", &t[i]) ;
  for (i=0; i<14; i=i+1)
    for (j=i+1 ; j<15; j=j+1)
      if (t[i]>t[j]) {
        temp = t[i];
        t[i] = t[j];
        t[j]=temp ;
      }
  printf ("Voici les valeurs affichees dans l'odre decroissant :\n") ;
  for (i=0 ; i<15; i=i+1)
    printf ("%d", t[i]);
  printf("Press ENTER to continue...\n");
  getchar();
  return 0;
}
-1
Oui, et ça marche !!! mais attends un peu , comment tu explique que le compilateur ne l'ai pas découverte ?
en tout cas merci .
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
23 oct. 2008 à 21:49
Ce n'est pas un erreur de syntaxe, le compilateur ne peut pas tester toutes les boucles pour savoir si elles s'arrêtent, c'est un problème difficile (encore que là, il aurait pu le trouver sans mal, mais il n'est pas fait pour).

En tous cas content d'avoir pu aider ^^ ! La prochaine fois que tu as un problème, essaie de présenter ton code comme je l'ai fait (avec balises code), c'est beaucoup plus lisible. Mets le statut en résolu stp.
-1
ok bonne soirée à toi !
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
23 oct. 2008 à 21:53
A toi aussi.
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
23 oct. 2008 à 21:33
printf ("Voici les valeurs affichées dans l'odre décroissant :\n") ;
for (i=0 ; i<15; i=i+1) 


Boucle infinie... (J'ai aussi corrigées les erreurs d'orthographe, c'est cadeau ^^ )
-1