Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-01-2008, 15:13   #1
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
[C] Qualcuno sa risolvere l'errore?

In qst funzione:
Codice:
/*funzione chiamata dalla inserisci(char*u)*/
nodo*insert_in_albero(nodo*p,char*u){
        int x=strlen(u);                      
        if (p==NULL){
      /*riservo uno spazio per nodo*/                
        p=(nodo*)malloc( sizeof(nodo));
        if(!p){
          printf("Errore di allocazione\n");
          }
                        
        else{
          p->parola= strdup(u); /*copia la stringa u nella sringa p->parola*/
          p->lung_parola=strlen(p->parola); /*prendi la lunghezza della stringa
                                                        p->parola e metti nel campo p->lung_parola*/ 
          p->left=p->right=NULL;
          q=p;
          return p;
        }
        }
              if(strcmp(u,p->parola)<0){            /*se u è lessicograficamente minore di p->parola 
                                                               inseriscilo a sinistra*/
               p->left=insert_in_albero(p->left,u);
               return p;
              }
                                                                                         
                   else if(strcmp(u,p->parola)>0){ /*altrimenti inseriscilo a destra*/
                                   
                                    p->right=insert_in_albero(p->right,u);
                                    return p;
                                                 }                   
                        else {
                                  printf(" %s è una parola già inserita\n",p->parola);
                                   system("PAUSE");
                                   p->parola=u;
                                 return p;
                               }
                      }

mi da un errore in qst riga:
p->parola= strdup(u);/*copia la stringa u nella sringa p->parola*/
dicendomi: [Warning] assignment makes pointer from integer without a cast

come risolvo?

Ultima modifica di Fabietto206 : 27-01-2008 alle 14:35.
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2008, 15:23   #2
andrea0032
Member
 
Iscritto dal: Oct 2004
Messaggi: 98
parola l'hai dichiarato come char* ?
la stringa u da dove l'acquisisci?
andrea0032 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2008, 18:54   #3
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da andrea0032 Guarda i messaggi
parola l'hai dichiarato come char* ?
la stringa u da dove l'acquisisci?
Si, parola è di tipo char*.
u è un parametro della funzione invece!!

Cmq la stringa la inserisco cn la seguente funzione:
Codice:
/*funzione di inserzione di una parola nell'albero*/
void inserisci(char*u){
    q=insert_in_albero(q,u);
    
     }

Ultima modifica di Fabietto206 : 27-01-2008 alle 14:32.
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 14:36   #4
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Nessuno sa aiutarmi?
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 16:08   #5
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7263
prova a usare strcpy o ancora meglio strncpy specificando un limite massimo di caratteri da copiare che dipende dallo spazio che hai allocato per la variabile in cui copi la stringa.

Ultima modifica di k0nt3 : 27-01-2008 alle 16:16.
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 16:29   #6
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
prova a usare strcpy o ancora meglio strncpy specificando un limite massimo di caratteri da copiare che dipende dallo spazio che hai allocato per la variabile in cui copi la stringa.
Nn riesco a capire cs vuoi dire!!
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 16:38   #7
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7263
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
Nn riesco a capire cs vuoi dire!!
strcpy copia il contenuto di una stringa in un'altra stringa. la sua signature è: char *strcpy(char *destination, const char *source)

ora.. ci sono dei problemi se la stringa sorgente è più grande della memoria allocata per la stringa destinazione, quindi è meglio usare strncpy: char *strncpy(char *destination, const char *source, size_t n);
dove "n" è il numero massimo di caratteri da copiare.
ma tu non allochi memoria per la variabile parola vero?
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 20:46   #8
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
strcpy copia il contenuto di una stringa in un'altra stringa. la sua signature è: char *strcpy(char *destination, const char *source)

ora.. ci sono dei problemi se la stringa sorgente è più grande della memoria allocata per la stringa destinazione, quindi è meglio usare strncpy: char *strncpy(char *destination, const char *source, size_t n);
dove "n" è il numero massimo di caratteri da copiare.
ma tu non allochi memoria per la variabile parola vero?
No, nn la alloco la memoria x la variabile parola
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 10:50   #9
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7263
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
mi da un errore in qst riga:
p->parola= strdup(u);/*copia la stringa u nella sringa p->parola*/
dicendomi: [Warning] assignment makes pointer from integer without a cast

come risolvo?
ah che stupido ho capito adesso qual'è il problema.
dichiara la struct in maniera simile a questa:
Codice:
typedef struct nodo
{
    char* parola;
    int lung_parola;
    struct nodo *left, *right;
} nodo;
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 12:00   #10
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
ah che stupido ho capito adesso qual'è il problema.
dichiara la struct in maniera simile a questa:
Codice:
typedef struct nodo
{
    char* parola;
    int lung_parola;
    struct nodo *left, *right;
} nodo;
è già dikiarato così....se vuoi ti posso mandare il codice così vedi x bene...
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 12:01   #11
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7263
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
è già dikiarato così....se vuoi ti posso mandare il codice così vedi x bene...
sicuro di avere messo typedef struct nodo all'inizio e poi nodo; alla fine? servono tutti e due
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 13:37   #12
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Ho fatto così:
Codice:
/*variabili globali */

typedef struct nodo_albero nodo;

    nodo*q=NULL;
   
    nodo*t=NULL;
   
    char *s;
     
char nom[ARRASIZE];

FILE* fp;
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @      INIZIO FILE .h               @
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/

/*struttura di un nodo dell'albero*/
struct nodo_albero{
       char*parola;
       int lung_parola;
       struct nodo_albero*left;
       struct nodo_albero*right;
       
       };
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v