Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [C] ordinamento lista

  1. #1

    [C] ordinamento lista

    BUONA MATTINATA A TUTTI I PARTECIPANTI AL FORUM!!

    Che comando devo usare per verificare in una lista se due elementi sono uguali e fare una sorta di contatore per verificare quante volte sono ripetuti determinati elementi e ordinarli in modo da stampare in ordine dagli elementi ripetuti più volte fino a stampare per ultimi quelli non ripetuti?

    Code:

    codice:
    while(fgets(s,254,FileIn))
    {                
            if (strstr (s, par) != NULL)
            {
                  if(head == NULL){
                          head = (struct List *)malloc (sizeof(struct List));
                          init(head, s);
                  }
                  else
                           add(head, s);
    
                  temp = head;
                  while(temp != NULL)
                  {
                          printf("%s\n", temp ->el);
                          temp = temp ->next;
                  }
                  y++;
            }
            else           
                   x++;
    }
    
                  c = -1;
                  fclose(FileIn); 
     
     }
     
      
    }
    CIAO E GRAZIE :::

    p.s. il codice che ho postato non fa altro che inserire gli elementi nella lista (strignhe) e poi me li stampa tutti ripetendomi gli elementi uguali ...

  2. #2
    Se stessi usando SQL e

    supponendo che la mia lista fosse una tabella

    dovrei utilizzare un DISTINCT

    una GROUP BY e un COUNTER

    e successivamnete un ORDER BY

    più o meno

    PENSO DI ESSERE STATO CHIARO ...


    CIAO ATTENDO UN CONSIGLIO

    GRAZIE

  3. #3
    Scusate ho cambito posizione al while :

    w
    codice:
    hile(fgets(s,254,FileIn))
    {                
            if (strstr (s, par) != NULL)
            {
                  if(head == NULL){
                          head = (struct List *)malloc (sizeof(struct List));
                          init(head, s);
                  }
                  else
                           add(head, s);
    
                  temp = head;
                 
                  y++;
            }
            else           
                   x++;
    }
                   while (temp != NULL)
                  {
                          printf("%s\n", temp ->el);
                          temp = temp ->next;
                  }
                  c = -1;
                  fclose(FileIn); 
     
     }

    CIAO

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    63
    non esiste un comando che fa tutte ste cose, semplicemente prendi elemento per elemento e scorri tutta la lista e poi metti in ordine i risultati
    Il sesso sicuro è importante, non fate mai l'amore su un'impalcatura.
    Against TCPA: Against Palladium

  5. #5
    Ho postato tutto in una nuova discussione

    [c] operazioni sulle liste

    non ho ancora del tutto risolto il problema

    CIAO GRAZIE

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