Announcement

Collapse
No announcement yet.

list to vet ( reverse commented )

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • list to vet ( reverse commented )

    PHP Code:
    /***
     *               _            _                          
     *              (_)          (_)                          
     *    __  ____ _ _  _____   ___  ___   ___ ___  _ __ ___  
     *    \ \/ / _` | |/ _ \ \ / / |/ _ \ / __/ _ \| '_ ` _ \
     *     >  < (_| | | (_) \ V /| | (_) | (_| (_) | | | | | |
     *    /_/\_\__, |_|\___/ \_/ |_|\___(_)___\___/|_| |_| |_|
     *          __/ |                                        
     *         |___/                                          
     */

    /*

    1)lista di strutture ( info,link ), mettere ogni nodo in un vettore
    poi da array a lista
    (vddi write to disk)

    */

    #include <st***.h>
    #include <stdlib.h>
    #include <string.h>


    typedef struct element {
        
        
    char info;
        
    int points ;
        
    struct element link;
        
    element_struct;

    /////////////////////////// prototypes
    void xmalloc (int byte);
    element_struct save_list element_struct listaint elements_to_save);

    /////////////////////////////////////////////// begin
    int main void ) {
        
        
        
    //// sample data
         
    element_struct data[]={
            
            {
    "spada"100data 1},
            {
    "scudi"230data 2},
            {
    "maronna"450data 3},
            {
    "prezzemolo"10NULL}
            
         };
        
    //////////////  end sample data
        
        ////////////////////////// declaration
        
    element_struct lista// input list
        
    element_struct vet_to_save// vet returned from function - save this to disk
        
    int elements_to_save// number of elements to save
        
    int i// used to count
        
        ////////////////////////////// end declaration
        
        ////////////// sample data to list - replace here the source
        
    lista data;
        
        
        
    ///////////////////////////////////// save list to array : next step -> save to disk
        
    vet_to_save save_list lista, &elements_to_save);
        
        
        
        
    ///////////////////////////////// print saved array - debug only
        
        
    for (i=i<elements_to_savei++){
            
            
    printf("%s , %d \n", (vet_to_save i)-> info , (vet_to_save i)-> points );
            
        }
        
        
        
    ///////////////////////////////////////////////////////////////////// array to list
        /*
         *  int numero_elementi;
         *  element_struct vet[leggi numero elementi da file];
         *  element_struct lista;
         *
         *  numero_elementi= leggi da file il numero;
         *  carica_elementi_da_disco (file,vet, numero_elementi, sizeof (element_struct)) // carica da file in vet
         *
         *
         *  ////////////////////////// linkiamo le strutture nel vettore  
         *  
         * for (i=0;i<numero_elementi-1;i++){
         *      (vet +i)->link = vet + i + 1;
         * }
         * (vet +i)->link = NULL;
         *
         * lista = vet;
         *
         */
        
        
    return 0;
    }



    element_struct save_list element_struct listaint elements_to_save){
        
        
    element_struct temp_node;
        
    element_struct vet_to_save;
        
    int i;
        
        
    //////////////////////////////// conto il numero di elementi
        
        
    for ( temp_node lista i=temp_node != NULLi++ , temp_node temp_node ->link){
        }
        
        
    /////////////////////////////// salvo numero di elementi
        
    *elements_to_save i;
        
        
        
    ///////////////////////////////// alloco spazio per il blocco consecutivo di dati
        
    vet_to_save = (element_struct *) xmalloc sizeof(element_struct));
        
        
        for ( 
    temp_node lista temp_node != NULLi++ , temp_node temp_node ->link){
            
            
    memcpy (vet_to_save itemp_node sizeof(element_struct));
            
        }
        
        return 
    vet_to_save;
        
    }

    void xmalloc (int byte){
        
        
    void punt;
        
        
    punt malloc (byte);
        
        if (
    punt == NULL){
            
    printf("Spazio non sufficiente\n");
            exit(-
    1);
        }
        
        return 
    punt;

    | VFX Artist, C++ Programmer, HW Overclocker | Web: xgiovio.com Email: xgiovio@gmail.com Twitter: @xgiovio
Working...
X

Google Profile


My name is Giovanni Di Grezia, but people call me xgiovio.

Here is my homepage:.

I'm a VFX Artist and Software Developer.

Giovanni Di Grezia