Visualizzazione dei risultati da 1 a 10 su 11

Visualizzazione discussione

  1. #3
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    15
    Questo è il main :

    codice:
    int main()
    {
        int *m_in, *m_out, n, r, c, dominant;
        FILE *fpin, *fpout;
        
        fpin = ApriFile("r");
        fscanf(fpin, "%d %d %d", &r,&c, &dominant);
        
        m_in = AllocateMemory(3, r*c);
        
        n = Leggi_Matrice(fpin, m_in);
        
        fclose(fpin);
        
        m_out = AllocateMemory(r, c);
        
        Trasforma_Matrice(m_in, m_out, n, r, c, dominant);
        
        fpout = ApriFile("w");
        
        Stampa_Matrice(fpout, m_out, r, c);
        
        fclose(fpout);
        
        return EXIT_SUCCESS;
    }
    e questa è la funzione che uso per allocare in memoria la matrice :

    codice:
    int *AllocateMemory(int r, int c) {
        int *m;
        if (m = (int *)malloc(sizeof(int)*r*c) != NULL)
            return m;
        else {
            printf("Bad memory allocation\n");
            exit (EXIT_FAILURE);
        }
    }
    Ho dato per scontato che sia giusto perché sia il main sia la funzione AllocateMemory sono state scritte dal mio professore. Pensandoci bene però quel "AllocateMemory(3, r*c)", in particolare il "3" non so come possa servire in termini di allocazione di memoria :|

    P.S.: i parametri r,c sono nella prima riga del FILE , mentre il terzo elemento della prima riga rappresenta il valore dominante della matrice sparsa che devo completare.
    Il file per intero è così :

    codice:
    6 4 3 
     0 3 2 
     1 1 0 
     2 0 5 
     2 3 4 
     3 0 1 
     3 1 0
    Ultima modifica di brizioss; 03-06-2015 a 15:19

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.