Ciao.
Io devo fare un programma in c che data una stringa la ordini e cerchi un elemento in essa (l'elemento da cercare č dato in input cosi' come i caratteri della stringa)
ho creato il listato e dev c++ me lo compila non mi da errori ma quando eseguo dopo che ho immesso i valori nel vettore da errore windows e mi si chiude il programma.
Allego il codice:
codice:
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
void main()
{
char vet[MAX],aux,ele;
int i=0,e,g,j,alto,basso,pos,n;
do
{
printf("Elementi Necessari --> ");
scanf("%d",&n);
}
while((n<0)||(n>99));
for(i=0;i<=n-1;i++)
{
printf("Inserisci %d Elemento --> ",i+1);
scanf("%s",&vet[i]);
}
for(j=0;j<n-1;j++) {
for(i=0;i<n-1;i++)
if(vet[i]>vet[i+1])
{
aux=vet[i];
vet[i]=vet[i+1];
vet[i+1]=aux;
}
}
for(i=0;i<n-1;i++)
printf("%s \n",vet[i]);
printf("Elemento da Cercare --> ");
scanf("%c",&e);
alto=0; basso=n-1; pos=-1;
do
{
g=(alto+basso)/2;
if(vet[g]==e)
pos=g;
else
if(vet[g]<e)
alto=g+1;
else
basso=g-1;
}
while((alto<=basso)&&(pos==-1));
if(pos!=-1)
printf("Elemento trovato nella posizione %d \n",pos);
else
printf("Elemento non trovato\n");
system("PAUSE");
}
Qual'č l'errore che ho commesso??? :master:
P.S.
non ho fatto in tempo ha mettere i commenti scusate!