Salve gente, prima di tutto inizio con lo scusarmi di non essermi presentato nella sezione apposita <_<
Domani ho una maledetta prova scritta di informatica (c++) e l'insegnante ci ha detto cosa bisogna sapere.
Io ho questo programma che riguarda funzioni di ordinamento e ricerca del vettore ma è solo per numeri interi.
Il problema è che non sò cosa cambiare per far funzionare correttamente il programma da int a char :grat:
potete aiutarmi per favore? T_T
Domani ho una maledetta prova scritta di informatica (c++) e l'insegnante ci ha detto cosa bisogna sapere.
Io ho questo programma che riguarda funzioni di ordinamento e ricerca del vettore ma è solo per numeri interi.
Codice:
#include <stdio.h>
#define MAX_ELE 1000
int vet[MAX_ELE];
void gestionesequenza(void);
int immissione(void);
void ordinamento(int);
int ricerca(int, int);
void visualizzazione(int);
int main(void)
{
gestionesequenza();
}
void gestionesequenza()
{
int n;
int scelta=-1;
int ele,posizione;
while(scelta!=0){
n=immissione();
ordinamento(n);
printf("elemento da ricercare: ");
scanf("%d", &ele);
scanf("%c",&invio);
posizione=ricerca(n,ele);
if(ele==vet[posizione])
printf("\nElemento %d presente in posizione %d",ele, posizione);
else
printf("\nElemento non presente");
printf("\nPremere invio per continuare");
scanf("%c",&invio);
visualizzazione(n);
}
}
int immissione()
{
int i,n;
do {
printf("\nNumero elementi: ");
scanf("%d",&n);
}
while (n<1 || n>MAX_ELE);
for(i=0;i<n;i++){
printf("\nImmettere un intero n.%d: ",i);
scanf("%d", &vet[i]);
}
return(n);
}
void ordinamento(int n)
{
int i,p,k,n1;
int aux;
p=n; n1=p;
do {
k=0;
for(i=0;i<n1-1;i++)
if(vet[i]>vet[i+1]){
aux=vet[i]; vet[i]=vet[i+1];
vet[i+1]=aux;
k=1; p=i+1;
}
n1=p;
}
while(k==1&&n1>1);
}
int ricerca (int n, int ele)
{
int i=0;
while(ele!=vet[i]&&i<n-1) i++;
return (i);
}
void visualizzazione(int n)
{
int i;
char invio;
for(i=0;i<n;i++)
printf("\n%d",vet[i]);
printf("\n\n\n\n\n Premere invio per continuare");
scanf("%c",&invio);
}
potete aiutarmi per favore? T_T
Ultima modifica: