Sto cercando di fare questo programma seguendo questa traccia:
- leggo un valore
- analizzo il vettore a partire dal basso: se il valore che ho introdotto è
minore del dato del vettore che sto considerando, sposto quest’ultimo nella
cella successiva
- itero il procedimento tornando all’indietro, finché non trovo un dato
minore del valore introdotto (o sono arrivato in cima al vettore): il valore è
da inserire nella cella successiva.
Ho fatto questo:
#include <stdio.h>
#define N 3
int main()
{
int v[N],i,j,k;
for(i=0;i<N;i++)
{
printf("Inserisci un numero ");
scanf("%d",&v[i]);
for(j=i-1;j==0;j--)
{
if(v[i]<v[j])
{
k=v[j];
v[j]=v[i];
v[i]=k;
}
else if(v[i]>v[j])
{
break;
}
}
}
for(i=0;i<N;i++)
{
printf("%7d%13d\n",i,v[i]);
}
return 0;
}
Però mi funziona solo con i primi due numeri e poi niente.. non capisco perchè.. ho provato più volte a verificarlo anche facendomi schemi sul foglio ma non riesco a trovare dove sbaglio