Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-04-2008, 08:08   #1
TeX-mAn
Senior Member
 
L'Avatar di TeX-mAn
 
Iscritto dal: Jun 2006
Messaggi: 371
[C] Cancellazione elemento lista

Ciao a tutti ho un problema.Non riesco a capire come faccio a cancellare un elemento a mia scelta presente in una lista.Riesco a cancellare il primo ma non riesco a cancellare gli elementi presente all'interno della lista.Aspetto un vostro aiuto.Grazie
__________________
Processore Intel Core 2 Duo E6600 ; 2 Gb di RAM DDR2 ; Scheda video RADEON X1950 XTX da 512 mb ;
TeX-mAn è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 08:47   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Facci vedere il codice...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 10:22   #3
TeX-mAn
Senior Member
 
L'Avatar di TeX-mAn
 
Iscritto dal: Jun 2006
Messaggi: 371
Quote:
Originariamente inviato da cionci Guarda i messaggi
Facci vedere il codice...
Devo fare un programma di gestione di un archivio di studenti,struttura avente Matricola,Cognome,nome e un puntatore alla struttura studente per creare una lista.

struct Studente{
int Matricola;
Stringa Cognome;
Stringa Nome;
struct Studente *next;
}
typedef struct Studente *ptr;

Devo creare delle funzioni di inserimento Studente,cancellazione Studente,Stampa Studenti...ecc...

Ho un problema con la funzione di cancellazione del tipo:
ptr cancellastudente (ptr lis,int matricola);
Praticamente gli passo la matricola dello studente da cancellare,la funzione fa una verifica con le matricole presenti nell'archivio,se la trova cancella lo studente.
Ora il mio problema è che nn so come cancellare un elemento nella lista senza perdere la testa della lista.

Spero di essere stato chiaro.
__________________
Processore Intel Core 2 Duo E6600 ; 2 Gb di RAM DDR2 ; Scheda video RADEON X1950 XTX da 512 mb ;

Ultima modifica di TeX-mAn : 06-04-2008 alle 13:27.
TeX-mAn è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 10:31   #4
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Devi mantenerti altri 2 puntatori, con uno (diciamo p) scorri la lista fino all'elemento da levare, l'altro punta all'elemento precedente. Quando trovi l'elemento mandi il precedente a collegarsi al successivo di p. Non so se sono stato chiaro, ma come hai notato, non puoi scorrere con la testa, quella resta ferma
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 13:30   #5
TeX-mAn
Senior Member
 
L'Avatar di TeX-mAn
 
Iscritto dal: Jun 2006
Messaggi: 371
Quote:
Originariamente inviato da carter100 Guarda i messaggi
Devi mantenerti altri 2 puntatori, con uno (diciamo p) scorri la lista fino all'elemento da levare, l'altro punta all'elemento precedente. Quando trovi l'elemento mandi il precedente a collegarsi al successivo di p. Non so se sono stato chiaro, ma come hai notato, non puoi scorrere con la testa, quella resta ferma
Mi potresti scrivere il codice della funzione

ptr cancellastudente(ptr lis (sarebbe la testa),int matricola)
__________________
Processore Intel Core 2 Duo E6600 ; 2 Gb di RAM DDR2 ; Scheda video RADEON X1950 XTX da 512 mb ;
TeX-mAn è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 13:46   #6
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Ti dò un abbozzo in pseudo codice, non escludo ci siano errori, devi modificartelo
Codice:
struct studente s, *p,*q;
p=testa;
q=null;
if ( la matricola del primo elemento è da eliminare)
{
     testa=testa->next; //cambi la testa
     free (p)  
}
else
{
   while (non trovi l'elemento o non termina la lista)
  {
     if (p punta all'elemento da levare)
    {
       q->next=p->next;
       free (p);
    }
    else
   {
     q=p;
     p=p->next;
    }
  }
}
In sostanza, ti devi mantenere un puntatore per scorrere la lista dall'inizio alla fine (p) e 1 altro che precede p di una posizione (q). Se trovi l'elemento, colleghi l'elemento di q col successivo di p, altrimenti continui a scorrere
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 14:47   #7
TeX-mAn
Senior Member
 
L'Avatar di TeX-mAn
 
Iscritto dal: Jun 2006
Messaggi: 371
Grazie mille.Ora ho capito tutto.Ciao
__________________
Processore Intel Core 2 Duo E6600 ; 2 Gb di RAM DDR2 ; Scheda video RADEON X1950 XTX da 512 mb ;
TeX-mAn è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 14:50   #8
..::DAVE::..
Senior Member
 
L'Avatar di ..::DAVE::..
 
Iscritto dal: Nov 2006
Città: Mantova
Messaggi: 468
Codice:
ptr cancellastudente (ptr lis,int matricola)
{
ptr temp,prec;

	temp=lis->next;
   prec=lis;

   if(prec->matricola==matricola)
   {
   	delete prec;
      return temp;
   }

   while(temp!=NULL)
   {
   	if(temp->matricola==matricola)
      {
			prec->next=temp->next;
			delete temp;
      }
      prec=temp;
      temp=temp->next;
   }

   return lis;
}

testa=cancellastudente(testa,matricola);
dovrebbe essere così
..::DAVE::.. è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 15:03   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ragazzi, secondo me non serve a niente fornire codice così, già svolto per intero. Meglio 10 volte una spiegazione a parole.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 15:34   #10
..::DAVE::..
Senior Member
 
L'Avatar di ..::DAVE::..
 
Iscritto dal: Nov 2006
Città: Mantova
Messaggi: 468
Quote:
Originariamente inviato da cionci Guarda i messaggi
Ragazzi, secondo me non serve a niente fornire codice così, già svolto per intero. Meglio 10 volte una spiegazione a parole.
non hai tutti i torti in effetti, però se uno vuole capire/imparare guarda il codice, se capisce bene, se ha dei dubbi poi chiede.
..::DAVE::.. è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 15:37   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da ..::DAVE::.. Guarda i messaggi
non hai tutti i torti in effetti, però se uno vuole capire/imparare guarda il codice, se capisce bene, se ha dei dubbi poi chiede.
E se invece doveva fare un esercizio ? Gli avete dato la soluzione già pronta
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 16:21   #12
..::DAVE::..
Senior Member
 
L'Avatar di ..::DAVE::..
 
Iscritto dal: Nov 2006
Città: Mantova
Messaggi: 468
Quote:
Originariamente inviato da cionci Guarda i messaggi
E se invece doveva fare un esercizio ? Gli avete dato la soluzione già pronta
chi è causa del suo mal pianga se stesso... se fa degli esercizi alla fine (presumibilmente) avrà una prova e li non ci sarà nessun forum
..::DAVE::.. è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 16:43   #13
TeX-mAn
Senior Member
 
L'Avatar di TeX-mAn
 
Iscritto dal: Jun 2006
Messaggi: 371
Raga basta ^^ grazie a tutti e due...Ora ho capito come funziona la cancellazione di un elemento all'interno di una lista
Sono riuscito a completare il programmino e ora funziona!!!!^^
Grazie ancora...CIAOOOOOOO alla prossima ( che spero nn ci sia )
__________________
Processore Intel Core 2 Duo E6600 ; 2 Gb di RAM DDR2 ; Scheda video RADEON X1950 XTX da 512 mb ;
TeX-mAn è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 16:52   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Già che ci siamo posto una soluzione ricorsiva
Codice:
ptr cancellastudente(ptr lis, int matricola)
{
   if(!lis) return NULL;
   if(lis->matricola == matricola)
   {
      ptr tmp = lis->next;
      free(lis);
      return tmp;
   }
   lis->next = cancellastudente(lis->next, matricola);
   return lis;
}

Ultima modifica di cionci : 06-04-2008 alle 18:50.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 19:11   #15
TeX-mAn
Senior Member
 
L'Avatar di TeX-mAn
 
Iscritto dal: Jun 2006
Messaggi: 371
Quote:
Originariamente inviato da cionci Guarda i messaggi
Già che ci siamo posto una soluzione ricorsiva
Codice:
ptr cancellastudente(ptr lis, int matricola)
{
   if(!lis) return NULL;
   if(lis->matricola == matricola)
   {
      ptr tmp = lis->next;
      free(lis);
      return tmp;
   }
   lis->next = cancellastudente(lis->next, matricola);
   return lis;
}

Ottimo grazie.
__________________
Processore Intel Core 2 Duo E6600 ; 2 Gb di RAM DDR2 ; Scheda video RADEON X1950 XTX da 512 mb ;
TeX-mAn è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
Intel prepara un SoC da 700 TOPS: Razor ...
I nuovi Xreal 1 Pro+ arrivano in Europa ...
La GeForce RTX 5090 non è morta: ...
HONOR Win2 si mostra online: potenza da ...
Clamoroso dietrofront di Sony: cancellat...
GeForce NOW, tante novità con l'u...
Il mercato smartphone rallenta nel Q3 20...
Addio al Valve Index: fine della produzi...
Seggiolini auto i-Size da 0 a 12 anni in...
Amazon determina i prezzi di tutto il we...
Robot aspirapolvere ECOVACS in offerta s...
Bodywel F20PRO o DEEPOWER A5? Due fat bi...
Gli agenti AI non diventano pazzi, sono ...
Kenwood Chef XL 6,7L a 239€ su Amazon: u...
Sconto al check-out a sorpresa: Smart TV...
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: 18:16.


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