Pobleme sur programme [débutant]
kent87042
-
kent87042 -
kent87042 -
Bonjour,
j'ai un soucis lorsque j'entre une cible négative mon programme plante te je ne sait comment y remédier...
voici le code tester le ...
j'ai un soucis lorsque j'entre une cible négative mon programme plante te je ne sait comment y remédier...
voici le code tester le ...
#include<stdio.h>
#define MAX 100
#include<windows.h>
void main()
{
int vec[MAX+1],i,nbel=-1,test,temp,j,cible,present,position,*pa;
//blindage de saisie
printf("\t\t\tDossier numero 1\n\n\n");
while(nbel<=0 || nbel>MAX)
{
printf("Saisir le nombre de cases dans le vecteur > ");
fflush(stdin);
scanf("%d",&nbel);
}
printf("\n");
i=0;
pa=&vec[0];
while(i<nbel)
{
test=0;
while(test==0)
{
printf("Saisir une valeur dans la case %d> " ,i+1);
fflush(stdin);
test=scanf("%d",pa);
pa++;
}
i++;
}
printf("\n\n");
printf("\t\t Vecteur non trie:\n");
printf("\t\t ------------------\n");
printf("\n");
i=0;
pa=&vec[0];
while(i<nbel)
{
printf("\t[%d]",*pa);
pa++;
i++;
}
printf("\n\n");
//Triage par extraction
i=0;
pa=&vec[0];
while(i<nbel)
{
j=i+1;
pa=&vec[0];
while(j<nbel)
{
if(*(pa+1) < *pa)
{
temp=*pa;
*pa=*(pa+1);
*(pa+1)=temp;
}
j++;
pa++;
}
i++;
pa++;
}
//Affichage vecteur trié
printf("\n");
printf("\t\t Vecteur trie:\n");
printf("\t\t -------------\n");
printf("\n");
i=0;
pa=&vec[0];
while(i<nbel)
{
printf("\t[%d]",*pa);
i++;
pa++;
}
printf("\n\n");
//Cible, recherche par methode de la sentinelle
test=0;
while(test==0)
{
printf("\n\nSaisissez une cible a rechercher > ");
fflush(stdin);
test=scanf("%d",&cible);
}
i=0;
pa=&vec[0];
while(*pa != cible)
{
i++;
pa++;
}
if(i<=nbel)
{
present=1;
position=i;
}
else
{
present=0;
}
if(present==1)
{
printf("\n> La cible existe dans la case %d\n\n",i+1);
}
if(present==0)
{
printf("\n> La cible n'existe pas !\n\n");
}
}
A voir également:
- Pobleme sur programme [débutant]
- Programme demarrage windows - Guide
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Programme word gratuit - Guide
- Message programmé - Guide
11 réponses
Non en fait j'aimerai que quant je dit que la cible est un chiffre négatif ben qu'il m'affiche si la cible existe ou pas !
Pour répondre a xav la cible c'est l'utilisateur qui la rentre
Pour répondre a xav la cible c'est l'utilisateur qui la rentre
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le programme tourne bien partout sauf quand l'utilisateur rentre une valeur négative dans la cible
Si on rentre une valeur positive ça marche si non le prog plante
test=0;
while(test==0)
{
printf("\n\nSaisissez une cible a rechercher > ");
fflush(stdin);
test=scanf("%d",&cible);
}
Si on rentre une valeur positive ça marche si non le prog plante
J'en sais rien moi y plante quoi ! en me disant ceci
"LC11.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru."
Effectivement !
il plante au while
pa= CXX0030: Error: expression cannot be evaluated
&vec[0]= &vec[0] 0x0012fdec
Mais tjs pas trouvé la solution
il plante au while
i=0;
pa=&vec[0];
while(*pa != cible)
{
i++;
pa++;
}
pa= CXX0030: Error: expression cannot be evaluated
&vec[0]= &vec[0] 0x0012fdec
Mais tjs pas trouvé la solution