Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Ushas
    Registrato dal
    Aug 2010
    Messaggi
    11

    Segmentation fault in selection sort

    Ciao a tutti,
    sono alle prime armi con il linguaggio c, ieri ho provato a implementare il selection sort; vi posto il codice:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int SelectionSort(int *A, int length){
    
    int i, min, min_index, j;
    
    for(i=0; i<length; i++){
        min = A[i];
        i = min_index;
        for(j=i+1; j<length; j++){
              if (A[j]<min){
                    min = A[j];
                    min_index = j;
              }
        }
        A[min_index] = A[i];
        A[i] = min;
    }
    
    return *A;
    }
    
    int main(){
    
    int i, n, *A;
    
    printf("Inserire la lunghezza dell'array\n");
    scanf("%d", &n);
    if (n<=0) return 1;
    A = malloc(n* sizeof(int));
    if (A == NULL) return 1;
    
    printf("Inserire gli elementi dell'array\n");
    for (i = 0; i<n; i++)
        scanf("%d", A+i);
    
    SelectionSort(A, n);
    
    for(i=0; i<n; i++)
        printf("%d ", A[i]);
    printf("\n");
    
    return 0;
    }
    Non mi dà errori di compilazione. Il problema è che quando finisco di inserire gli elementi dell'array mi dà Segmentation Fault. Ho provato a mettere una printf prima della chiamata SelectionSort(A,n) e una all'inizio della funzione SelectionSort: la prima la stampa, ma la seconda no e non riesco a capire dov'è il problema!

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    In SelectionSort()

    codice:
    ...
    min = A[i];
    min_index = i;
    ...
    every day above ground is a good one

  3. #3
    Utente di HTML.it L'avatar di Ushas
    Registrato dal
    Aug 2010
    Messaggi
    11
    Che scema, grazie mille davvero!!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.