problema memoria dinamica in c
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 4 di 4

Discussione: problema memoria dinamica in c

Cambio titolo
  1. #1
    In Flame we Trust!! L'avatar di Darkbo$$
    Registrato il
    07-04
    Località
    Lonate Pozzolo (va)
    Messaggi
    853

    problema memoria dinamica in c

    ragazzi ho un problema, nn riesco a far funzionare questo programma che usa la funzione malloc..
    la compilazione nn da errori ma all'eseguzione, una volta inseriti i valori nella memoria, chiama il sottoprogramma e va in crash
    esce un errore di windows dicendo che il programma ha smesso di funzionare
    immagino che l'errore sia dato xk il programma va a toccare memoria che nn deve.. solo che nn so cm risolverlo

    Codice:
    //funzione ordina che riceve un int*, essa orina i numeri in ordine crescente
    //programma che inserisce il numero di interi e gli interi,stampa i numeri,chiama ordina e stampa i numeri
    
    #include<stdio.h>
    #include<malloc.h>
    void ordina(int*,int);
    int main(int argc,char* argv[]){
        int lenght,i;
        int* vet;
        scanf("%d",&lenght);
        if((vet=(int*)malloc(lenght*sizeof(int)))!=NULL){
            for(i=0;i<lenght;i++)
                    scanf("%d",vet+i);
            ordina(vet,lenght);
            for(i=0;i<lenght;i++)
                    printf("%d ",*(vet+i));
                    
        }
        else
            printf("\nerrore malloc");
    
        return 0;
    }
    void ordina(int* vet,int lenght){
            int temp,i,j;
            for(i=0;i<lenght-1;i++){
                for(j=i+1;j<lenght;i++)
                    if(*(vet+i)>*(vet+j)){
                        temp=*(vet+i);
                        *(vet+i)=*(vet+j);
                        *(vet+j)=temp;
                    }
                        
            }
    }

  2. #2
    In Flame we Trust!! L'avatar di Darkbo$$
    Registrato il
    07-04
    Località
    Lonate Pozzolo (va)
    Messaggi
    853
    Citazione Darkbo$$ Visualizza Messaggio
    ragazzi ho un problema, nn riesco a far funzionare questo programma che usa la funzione malloc..
    la compilazione nn da errori ma all'eseguzione, una volta inseriti i valori nella memoria, chiama il sottoprogramma e va in crash
    esce un errore di windows dicendo che il programma ha smesso di funzionare
    immagino che l'errore sia dato xk il programma va a toccare memoria che nn deve.. solo che nn so cm risolverlo

    Codice:
    //funzione ordina che riceve un int*, essa orina i numeri in ordine crescente
    //programma che inserisce il numero di interi e gli interi,stampa i numeri,chiama ordina e stampa i numeri
    
    #include<stdio.h>
    #include<malloc.h>
    void ordina(int*,int);
    int main(int argc,char* argv[]){
        int lenght,i;
        int* vet;
        scanf("%d",&lenght);
        if((vet=(int*)malloc(lenght*sizeof(int)))!=NULL){
            for(i=0;i<lenght;i++)
                    scanf("%d",vet+i);
            ordina(vet,lenght);
            for(i=0;i<lenght;i++)
                    printf("%d ",*(vet+i));
                    
        }
        else
            printf("\nerrore malloc");
    
        return 0;
    }
    void ordina(int* vet,int lenght){
            int temp,i,j;
            for(i=0;i<lenght-1;i++){
                for(j=i+1;j<lenght;i++)
                    if(*(vet+i)>*(vet+j)){
                        temp=*(vet+i);
                        *(vet+i)=*(vet+j);
                        *(vet+j)=temp;
                    }
                        
            }
    }


    nulla nulla ho risolto... avevo sbagliato ad usare un indice.. scusate, si può chiudere

  3. #3
    Nothing L'avatar di H33Razer
    Registrato il
    12-07
    Messaggi
    4.062
    Citazione Darkbo$$ Visualizza Messaggio
    Codice:
    //funzione ordina che riceve un int*, essa orina i numeri in ordine crescente


    int* = puntatore a variabili intere?
    Pochi servizi, poche novità

  4. #4
    da 3? L'avatar di Celebron
    Registrato il
    07-06
    Località
    Sotto Canestro
    Messaggi
    14.462
    Citazione H33Razer Visualizza Messaggio


    int* = puntatore a variabili intere?
    yes

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •