Ciao,
dovrei fare un programma che legge un numero (fino a quando non digito zero) e crea dinamicamente un vettore ordinandolo.Io ho fatto questo ma non è giusto.
# include <stdio.h>
# include <stdlib.h>
int *insert(int *pi, int i, int x)
{ int t,j,temp;
if (i==0)
{pi= (int *) malloc (sizeof(int));
pi[i]=x;}
else
{
pi=(int*)realloc(pi, (i+1) * sizeof(int));
for(t=i; t>=0;t--)
for(j=0;j<t;j++)
{if (pi[j]>pi[j+1])
{temp=pi[j];
pi[j] = pi[j+1];
pi[j+1]=temp;}
}
pi[t]=x;
}
return pi;
}
void stampa(int *pi,int i)
{int j;
for(j=0; j<=i;j++)
printf("%d \n",pi[j]);
}
int main ()
{ int x,i;
int *p=NULL;
i=0;
do
{ printf("inserisci il numero (si termina con zero)");
scanf(" %d", &x);
if (x!=0)
{
p= insert (p,i,x);
i++;
}
} while (x!=0);
stampa(p, i);
system("pause");
return 0;
}
spero che qualcuno possa aiutarmi.