Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    142

    [c] inserimento in lista ordinata.. confrontare 2 array di char

    ciao a tutti, sto scrivendo una funzione per l'inserimento ordinato in lista in ordine alfabetico...

    mi sono bloccato però quando devo confrontare se la parola data in input è "maggiore" o "minore" alfabeticamente alla parola presente nel nodo.

    in c++ ho usato le stringhe e funzionava tranquillamente con un < ma in C? come posso fare?

    grazie ciao

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

    strcmp
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    142
    grazie mille..fa proprio al caso mio. una domandina.. ma usare %s in C è "legale"?

    se x esempio voglio scrivere a video una parola memorizzata in una array di char.

    devo fare un while finchè non trova '\0' giusto?

    ma se invece faccio printf("%s",parola);
    ?

    o ci sono altri metodi?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ovvio che è legale ... è proprio del linguaggio C ...

    Non capisco perchè fai questa richiesta ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    142
    pensavo fosse un comando del c++ visto che le stringhe in C in realtà non esistono.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ma infatti %s e' usato in C per visualizzare il contenuto di un array di char.

    Per visualizzare le stringhe del C++, usi la cout ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    142
    allora... penso di averla fatta, ma c'è qualcosa che mi sfugge, al 99% l'head non cammina bene

    Codice PHP:
    #include <stdio.h>
    typedef struct nodo {
        
    int frequenza;
        
    struct nodo next;
        
    char parola[100];
        } 
    NODO;


    NODO InserimentoOrdinatoLista(NODO head,char ParolaIns[])
    {
      
    int i=0;

        if (!
    head)
        {
            
    NODO *NuovoNodo = (NODO*)malloc(sizeof(NODO));
            
    NuovoNodo->next=NULL;
            
    NuovoNodo->frequenza=0;
            
    strcpy(NuovoNodo->parola,ParolaIns);
            
    //printf("%s PRIMO NODOoooooooooooooooooooooooooooooo\n",NuovoNodo->parola);
            
    NuovoNodo->next=head;
            
    head=NuovoNodo;
        }
        else
        {
                if ( (
    strcmp (ParolaIns,head->parola) )==0// se le due parole sono uguali
                
    {
                    
    head->frequenza=head->frequenza+1//aumenta il campo frequenza

                
    }
                else
                    if ( (
    strcmp(ParolaIns,head->parola) )<)
                    {
                        
    NODO *NuovoNodo = (NODO*)malloc(sizeof(NODO));
                        
    NuovoNodo->next=NULL;
                        
    NuovoNodo->frequenza=0;
                        
    strcpy(NuovoNodo->parola,ParolaIns);
                       
    // printf("%s DEBUG 2\n",NuovoNodo->parola);
                       // printf("%s DEBUG 3\n",ParolaIns);
                        
    NuovoNodo->next=head;
                        
    head=NuovoNodo;
                    }
                    else
                        
    head=InserimentoOrdinatoLista(head->next,ParolaIns);
        }
        return 
    head;

    cosa sbaglio?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da atomico
    al 99% l'head non cammina bene
    Ma che vuol dire ??
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    142
    che probabilmente mi perdo l'head originale x strada

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ma come usi la funzione?

    Cosa hai scritto nel main?

    Da cosa ti accorgi che non funziona?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.