RISOLTO Ordinamento array linguaggio c

Stato
Discussione chiusa ad ulteriori risposte.

Frank2000

Nuovo Utente
22
0
Salve a tutti.
Sto implementando un programmino C nel quale utilizzo un array generato con numeri casuali e lo ordino tramite varie funzioni ognuna delle quali descrive un algoritmo di ordinamento. Utilizzo un array "copia", nel quale appunto copio il mio array, visto che lo devo ogni volta ordinare richiamando una delle funzioni, e se fosse già ordinato non avrebbe senso. Solo che l'esecuzione non mi mostra l'array ordinato, e non riesco a capire il perchè, aiutatemi per favore. Nelle foto vi mostro il main ,la funzione insertsort e quello che accade durante l'esecuzione.

screen1.png screen2.png screen3.png
 
Ultima modifica da un moderatore:

clessidra

Utente Attivo
593
167
CPU
VIA C3
Scheda Video
Ati Rage
Sistema Operativo
linux - Red Hat 1.1
Forse sarebbe meglio postare il listato come testo invece di allegare una immagine di esso.
Esiste un'apposita funzione nella barra: Insert->Code .
 
Ultima modifica:
  • Mi piace
Reactions: Cibachrome e Mursey

Frank2000

Nuovo Utente
22
0
ok grazie
C:
int main ()
{

int i,n;
int array[n];
int array_copia[n];

n = 10;


printf("Ecco l'array da ordinare:\n");
srand(1);
for(i=0;i< n;i++)
   {
     array[i] = rand() % 40;
     printf("%d\n",array[i]);
   }


for(i=0;i< n;i++)
   {
    array_copia[i] = array[i];
    }
 

/* ordina tramite insertsort */

printf("array ordinato tramite insertsort:\n");

insertsort(array_copia[n],n);
for(i=0; i< n; i++)
   {
      printf("%d\n",array_copia[i]);
   }
ALGORITMO INSERTSORT:
C:
void insertsort(int a[],
        int n)
{
    int valore_ins,
        i,
        j;
    
    for (i = 1;
        (i < n);
        i++)
    {
        for (valore_ins = a[i], j = i - 1;
            ((j >= 0) && (a[j] > valore_ins));
        j--)
        a[j + 1] = a[j];
        if (j + 1 != i)
               a[j + 1] = valore_ins;
    }
}
 

rodhellas

Utente Èlite
1,505
421
CPU
Intel i5 3470
Scheda Madre
AsRock H77 pro4/mvp
Hard Disk
120GB SSD + 2TB HD
RAM
12GB Corsair XMS3 1333mhz
Scheda Video
Gigabyte GTX 960 OC
Scheda Audio
Integrata
Monitor
SyncMaster 223BW
Alimentatore
Antec HCG-520M
Case
Thermaltake Commander Ms-i Snow Edition
Sistema Operativo
Windows 10 64bit
Guarda come hai dichiarato insertionsort e cosa poi invece gli passi come input :)
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando

Discussioni Simili

Hot del momento