Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    (C)Non stampa l'array ordinato

    Salve a tutti.
    Il frammento di codice che segue, ciò che deve fare è semplicemente prendere in input un array di n elementi di int e visualizzare a video l'array ordinata, tramite il semplice alg. di ordinamento insersort.
    L'alg. di ordinamento funziona, ma nn in uscita viene stampato l'array originale, e nn quello ordinato.Dove sta il problema?

    #include <stdio.h>
    #include <stdlib.h>

    void insertsort(int *a,int n);

    int main ()
    {
    int num_elem,i,z;
    int *a,*b,*c;

    printf("Inserisci il numero di elementi che compongono l'array: \n");
    scanf("%d", &num_elem);

    a=(int*)calloc(num_elem,sizeof(int));/*Alloca un array di num_elem*/
    b=a;
    c=a;

    for (i=0; i<num_elem; i++){
    printf("Inserisci il %d elemento:", i+1);
    scanf("%d", a);
    a++;
    }

    printf("L'array originale e': \n");
    for(z=0; z<num_elem; z++){
    printf("%d\n", *b);
    b++;
    }

    insertsort(a,num_elem);

    printf("L'array ordinato e': \n");

    for(z=0; z<num_elem; z++){
    printf("%d\n", *c);
    c++;

    }

    return 0;
    }



    void insertsort(int *a,int n)
    {
    int valore_ins,
    i,
    j,
    z;
    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;
    }

    }
    piccio

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    perchè alla funzione insertsort passi l'array (a*)
    ma dentro la funzione ne dichiari un altro (int *a,*b,*c
    quindi quello che hai passato non lo tocchi, ma poi lo stampi
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.