Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    152

    [C] Lista e creazioni casuali di caratteri

    ciao a tutti, ho il seguente esercizio:
    crea una lista casuale di soli caratteri: A G V T, con un metodo DNAGen che dato un numero k restituisce una sequenza casuale.
    il codice che ho scritto funziona ma nel momento in cui vado a compilare ed eseguire mi fa un errore. Ma non riesco a capire dov'è che sbaglio

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    struct elemento{
           char info;
           struct elemento *next;
           };
           
    /*creazione casuale di A G V T*/
    char random_char() {
    char n = rand() % 4;
    switch(n) {
    case 0 : return 'A';
    case 1 : return 'G';
    case 2 : return 'C';
    case 3 : return 'T';
    default: return 'T';
    }
    return n;
    }
    
    /*creazione di una lista di lunghezza k con elementi casuali*/
    struct elemento *DNAGen(int k){
         struct elemento *p;
         char h;
         int i;
         for(i=0; i<k; i++){
                     p=(struct elemento*)malloc(sizeof(struct elemento));
                     h=random_char();
                     p->info=h;
                     p=p->next; 
                     }
                     p->next=NULL;
                     return p;
                     }
                     
                     
    void stampa(struct elemento *p){
         printf("Lista : ");
         while(p!=NULL){
                        printf("%c",p->info);
                        printf("-->");
                        p=p->next;
    }
                        printf("\nFINE");
    }
    
    main(){
           struct elemento *f;
           f=DNAGen(5);
           stampa(f);
           system("PAUSE");
           }
    mi potete dare una mano? grazie mille

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [C] Lista e creazioni casuali di caratteri

    Originariamente inviato da keykode20
    nel momento in cui vado a compilare ed eseguire mi fa un errore.
    Un errore quando compili ? Quale ?

    Un errore quando esegui ? Quale ?

    Capirai che se hai un errore, è *necessario* segnalarlo insieme al codice nel tuo post ... no?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    152
    scusa mi sono sbagliato . L'errore che compare è alla schermata nera, appare la finestra di windows e dice "il File.exe ha smesso di funzionare" e mi fa chiudere.
    la classica richiesta di invio di segnalazioni in pratica

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Allora è un evidente problema "di puntatori" ... quindi la maggiore indiziata è la lista (e la sua costruzione) ... Infatti, dovrebbe essere

    codice:
    struct elemento *DNAGen(int k)
    {
    	struct elemento *list=NULL, *pnew;
    
    	for(int i=0; i<k; i++)
    	{
    		pnew=(struct elemento*)malloc(sizeof(struct elemento));
    		
    		pnew->next=list;
    		pnew->info=random_char();
    
    		list=pnew;
    	}
    
    	return list;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    152
    grande! grazie mille!!!

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.