Torna indietro   Hardware Upgrade Forum > Software > Programmazione

I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers
MSI continua ad investire nel proporre schermi pensati per rispondere alle esigenze dei videogiocatori, utilizzando la quinta generazione di tecnologia QD-OLED sviluppata da Samsung. Il modello MGP 341CQR QD-OLED X36 è lpultima novità al debutto in concomitanza con il CES 2026, uno schermo curvo di ampia risoluzione pensato per i videogiocatori più esigenti
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-04-2010, 16:01   #21
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12913
Premesso che non ho letto il testo poiché è abbastanza lungo...

Quote:
Originariamente inviato da lupoxxx87 Guarda i messaggi
se non hai un indice ad albero, o ad hash, non ti serve a nulla tenerla ordinata, perchè non sai dove cercare...

prova a immaginare..se hai 40 grattacieli chiamati "AA%" e vuoi cancellare un grattacielo che si chiama "AB%" tu penserai che è nelle prime posizioni, invece è nelle ultime...

la cosa ideale sarebbe una mappa
Se l'array è ordinato può sfruttare questa cosa per effettuare una ricerca binaria, che a livello prestazionale è comparabile ad un albero, ed è più semplice da implementare.

Tuttavia l'inserimento ti costerebbe sempre O(N).

Il difetto dell'array è che è un po' troppo statico... potresti pensare di fare gli inserimenti sempre facendo una ricerca binaria:

1 2 3 5 7 9

Vuoi inserire 6... la chiave centrale è 3, quindi vai nel sotto-array destro [5 7 9], la chiave centrale è 7 quindi vai nel sotto-array sinistro [5], devi spostare 7 e 9 per ottenere:

1 2 3 5 6 7 9

Cmq non capisco una cosa... se vuoi usare una lista, perché dovresti crearti l'array per calcolarti la media, non basta scandirla?

Ultima modifica di WarDuck : 13-04-2010 alle 16:03.
WarDuck è online   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 16:08   #22
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da lupoxxx87 Guarda i messaggi
radicioni (si chiamava così ?) era 10 volte più bastardo...questo è un giochetto a confronto
A me invece quelli di Radicioni parevano + fattibili, in quanto erano tt pressochè simili!!

Io ho fatto quello di febbraio di Tarini, quello dei puffi, e nn era facile x il mio livello....infatti mi ha sturato xkè alcune cose (che nn ho fatto io) nn gliele ho sapute spiegare!!
__________________
PC: Intel Core i5 4690K @ 3,5 Ghz | VGA Gigabyte GTX 970 G1 Gaming | RAM G Skill Ares 1866 Mhz (2x4GB) | HDD WD Caviar Blue 1TB | SSD Samsung 840 Evo 250GB | MoBo AsRock Z97 Extreme 4 Router: Netgear dg834g v5 Notebook: Asus x53sv: Intel i7 2630qm | Geforce gt630 | RAM 4GB | SSD 250GB Cell: Iphone 8 64GB Black Tablet: Ipad Air 16GB + 4G Grigio siderale
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 16:27   #23
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
@warduck

sisi...sono tutti i sistemi di indicizzazione infatti utilizzati in dbms o simili...
il problema è realizzarli da zero in un paio di giorni

l'array lo fai perchè prima devi capire quali grattacieli sono sensibili per il landscape, e poi ti scandisci l'array per fare la media

@fabietto

radicioni voleva una relazione assurda assieme al progetto...quasi peggiore di quella di chinosi per mips
ed era comunque molto molto puntiglioso anche su cose inutili
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 17:07   #24
matteo.pata
Member
 
L'Avatar di matteo.pata
 
Iscritto dal: Oct 2004
Città: Gazzada (Va)
Messaggi: 186
usavo un array in quanto la lunghezza della spiaggia tela da a priori lui quindi mi creavo un array di linghezza N dato dalle specifiche e poi scandivo la lista dei grattacieli e assegnavo ad ogni indice dell'array un altezza in base al grattacielo .fatto questo sommo tutte le posizioni dell'array e poi divido per la lunghezza della spiaggia....Mi sembra abbastanza buona come idea che ne dite??
cmq avevo fatto anche io quello di tarini di febbraio e anche a me mi aveva sturato perchè lo avevo fatto con un paio di miei amici e secondo lui lo aveva fatto solo una persona e gli altri lo avevo copiata...cosa non vera...cmq questo mi sembra un po' meno complicato rispetto a quello dei puffi...per le mie capacità diciamo che non è proprio uno scherzo però ci sono a dietro quindi appena ho qualche problema di codice ve lo posto.....grazie a tutti...
__________________
......IN FASE DI COSTRUZIONE PC NUOVO.......
matteo.pata è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 18:37   #25
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
[quote=lupoxxx87;31606987@fabietto

radicioni voleva una relazione assurda assieme al progetto...quasi peggiore di quella di chinosi per mips
ed era comunque molto molto puntiglioso anche su cose inutili[/QUOTE]

Non lo so, xkè con Radicioni nn ci ho mai avuto a ke fare!! So solo ke ho provato a fare il progetto "Die Hard" di nov 2009 ma nn ci sono riuscito!!
Forse la migliore era la Gerla!!

Io ora mi sto dedicando a sistemi operativi e ho lasciato un attimo da parte algoritmi xkè è tostissimo!!
__________________
PC: Intel Core i5 4690K @ 3,5 Ghz | VGA Gigabyte GTX 970 G1 Gaming | RAM G Skill Ares 1866 Mhz (2x4GB) | HDD WD Caviar Blue 1TB | SSD Samsung 840 Evo 250GB | MoBo AsRock Z97 Extreme 4 Router: Netgear dg834g v5 Notebook: Asus x53sv: Intel i7 2630qm | Geforce gt630 | RAM 4GB | SSD 250GB Cell: Iphone 8 64GB Black Tablet: Ipad Air 16GB + 4G Grigio siderale
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2010, 14:04   #26
Furla
Senior Member
 
Iscritto dal: Feb 2004
Messaggi: 1454
Quote:
Originariamente inviato da lupoxxx87 Guarda i messaggi
se ti riferivi alla mia proposta....



esempio: tu crei 40 grattacieli, ne distruggi 30, e chiedi la media.

• l'array pensato a mio modo valuterà 10 grattacieli e calcola la media una volta sola.

• l'array a tuo modo viene aggiornato 70 volte, ogni volta deve scandire l'intera lista, a meno che non tenga in memoria a quale grattacielo si sta riferendo in ogni singolo elemento, e calcolerà la media una volta sola


mi sembra che sia il tuo ad essere gravoso
forse non hai letto bene la consegna, ad ogni richiesta deve essere ricalcolata la media. il ricalcolo può essere fatto in O(1) se tieni aggiornato l'array, o in O(n) se lo ricostruisci ogni volta; dopo n richieste il tempo di esecuzione sarà quindi O(n) con la mia soluzione (O(nlogn) contando anche i crolli) e O(n^2) con la tua.
Furla è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2010, 14:37   #27
matteo.pata
Member
 
L'Avatar di matteo.pata
 
Iscritto dal: Oct 2004
Città: Gazzada (Va)
Messaggi: 186
Quote:
Originariamente inviato da Furla Guarda i messaggi
forse non hai letto bene la consegna, ad ogni richiesta deve essere ricalcolata la media. il ricalcolo può essere fatto in O(1) se tieni aggiornato l'array, o in O(n) se lo ricostruisci ogni volta; dopo n richieste il tempo di esecuzione sarà quindi O(n) con la mia soluzione (O(nlogn) contando anche i crolli) e O(n^2) con la tua.
Quindi come mi suggerisci di farlo...come tengo aggiornato l'array??una volta caricato con le altezze maggiori dei grattacieli quando faccio un altro inserimento oppure una cancellazione come faccio a tenerlo aggiornato?
se aggiungo un grattacielo basta che controllo che la sua altezza in quella porzione di spiaggia non sia maggiore di quello già presente nell'array ma s einvece cancello come faccio??dammi un'idea e se riesce anche un p' di codice questa cosa ci ho pensato un bel po' ma non mi viene in mente niente...
__________________
......IN FASE DI COSTRUZIONE PC NUOVO.......
matteo.pata è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2010, 14:47   #28
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
carissimo furla...
forse non l'hai letto tu il testo ...

Codice:
Ciascuna riga successiva descrive un evento (costruzione o, tragicamente, abbattimento di
un grattacielo), o una richiesta.

1 Le richieste sono semplicemente delle righe costituite da un unico punto interrogativo. [...]

2 Gli eventi di tipo abbattimento cominciano dalla stringa kaboom [...]

3 Gli eventi di tipo costruzione cominciano con la stringa new [...]

La serie di righe è terminata da una riga composta da un solo punto esclamativo, che segnala la fine del
problema.
io vado a calcolare l'array solo quando ho una RICHIESTA, non quando ho un EVENTO.

il vincolo su O(n^2) è proprio per invitare ad EVITARE di CALCOLARE qualcosa di NON NECESSARIO finchè questo non venga espressamente RICHIESTO, visto che O(n^2) si riferisce al numero di EVENTI
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2010, 14:55   #29
matteo.pata
Member
 
L'Avatar di matteo.pata
 
Iscritto dal: Oct 2004
Città: Gazzada (Va)
Messaggi: 186
Quindi come l'ho pensata va bene tengo un array ed ad ogni richiesta di media mi calcolo un nuovo array...ragazzi datemi risp perchè il tempo diventa sempre meno e l'idea di lupoxx mi sembra buona e anche non troppo difficile...
__________________
......IN FASE DI COSTRUZIONE PC NUOVO.......
matteo.pata è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2010, 15:13   #30
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
la scelta è tua...devi decidere tu come implementare...noi ti diamo solo dei consigli...
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2010, 17:36   #31
Furla
Senior Member
 
Iscritto dal: Feb 2004
Messaggi: 1454
Quote:
Originariamente inviato da lupoxxx87 Guarda i messaggi

io vado a calcolare l'array solo quando ho una RICHIESTA, non quando ho un EVENTO.
hai ragione, ho fatto confusione tra richieste ed eventi.
la scelta tra tenere aggiornato l'array e ricalcolarlo ad ogni richiesta dipende quindi dal rapporto tra richieste ed eventi: se le richieste sono poche rispetto agli eventi, è più conveniente ricalcolare tutto, se invece sono frequenti conviene usare sempre il solito array.
Furla è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2010, 17:38   #32
matteo.pata
Member
 
L'Avatar di matteo.pata
 
Iscritto dal: Oct 2004
Città: Gazzada (Va)
Messaggi: 186
Ragazzi problema:
io ho una riga da leggere da stdin e poi devo memorizzarla all'interno del nodo della lista
la riga è
new pippo 2 5 23.5
oppure
kaboom pippo --> cancellazione
oppure
? -->media
oppure
! --> fine programma

come faccio a dirgli di leggere new e confrontarla con il tag new per poi leggere
la stringa pippo e le misure per poi chiamare la funzione inserimento che fa l'inserimento in lista
per le misure uso

scanf("%d",&variabile)

per leggere la parola io avevo creato una funzione legginome che restituisce il nome letto

Codice:
char* leggiNome(char c) {
	int i = 1;
	char *nome = malloc(2 * sizeof(char));
	while(c >= 'A' && c <= 'Z') {
		nome[i - 1] = c;
		nome = (char *)realloc(nome, ++i * sizeof(char)); /* Aggiungiamo un elemento */
		c = getchar();
	}
	nome[i - 1] = '\0'; /* Fine nome */
	return nome;
}
Però mi chiedevo come fare per fare tipo uno switch non uno switch perchè non leggo caratteri ma devo leggere sia nomi che caratteri quindi non posso usare uno switch per le varie scelte.
Come potrei fare?
Spero di essere stato chiaro..
__________________
......IN FASE DI COSTRUZIONE PC NUOVO.......
matteo.pata è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2010, 19:01   #33
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
http://www.cplusplus.com/reference/c...string/strcmp/
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2010, 14:30   #34
matteo.pata
Member
 
L'Avatar di matteo.pata
 
Iscritto dal: Oct 2004
Città: Gazzada (Va)
Messaggi: 186
Ragazzi problema help me

Codice:
  FILE *p;  
  char temp;
  char linea[120];
  char nome_file[120];
  char *comando;
  char stringa[120];
  char carattere;
  int posi,posf;
  float altezza,mediaSkyLine=0;



else{
    p=fopen(argv[1],"r");
    if(p==NULL){
      perror("Errore in apertura del file");
      exit(1);
    }
 
    
    printf("NewNew York\n");
    fscanf(p,"%d",&spiaggia); /* leggo il valore della spiaggia e lo assegno*/

while(!feof(p))
   {

         fscanf(p,"%s",&linea);
         printf("%s\n",&linea);
      if(strcmp(linea,"new")==0){
         fscanf(p,"%s",&stringa); /*inserimento grattacielo*/
         fscanf(p,"%d",&posi);  
         fscanf(p,"%d",&posf);
         fscanf(p,"%f",&altezza);
         Grattacieli = inserisci(Grattacieli,posi,posf,altezza,stringa);
         stampa(Grattacieli);
         }
         
       if(strcmp(linea,"kaboom")==0){ 
         fscanf(p,"%s",&stringa); /*cancellazione grattacielo*/
         Grattacieli = cancella(Grattacieli,stringa);
         stampa(Grattacieli);
         }
       if(strcmp(linea,"?")==0){                                              
         mediaSkyLine = media(Grattacieli,spiaggia); /* media Skyline*/
         printf("la media dello skyline e' %f m \n",mediaSkyLine);
         }
       if(strcmp(linea,"s")==0){
         printf("entro in s");
         stampa(Grattacieli);
         }
       if(strcmp(linea,"!")==0){
         printf("\n");
         system("PAUSE");	
         return 0;     
         }
     }
   fclose(p);
   printf("\n");
   system("PAUSE");	
  
  return 0;
 }

Questa è la chiamata per inserire 
listaGrattacielo* inserisci(listaGrattacielo *p, int pos_i,int pos_f,float h,char *n)
in char *n arriva stringa[120] = OOEF che leggo dal file
e giusto poi fare all'interno di inserisci
q->nome=n;
in q->nome cosa ci finisce??
Questo pezzo di codice mi effettua la lettura da file e poi inserisce nella lista grattacieli il problema che alla prima riga che legge che è
new OOEF 2 4 421
la inserisce correttamente con il nome giusto
la seconda riga che è
new UVPV 2 3 67
la inserisce corretta però non riesco a capire perchè cambia il nome del primo elemento nella lista se faccio un altro inserimento tipo
YUPV 2 6 79
lo inserisce con i valori corretti però cambia i nomi di tutti i grattacieli in YUPV.Sto impazzendo non riesco a trovare l'errore se faccio invece l'inserimento da stdin da riga di comando e inserisco le stesse righe presennti nel file che gli passo mi effettua tutti i passaggi correti e non cambia i nomi.quindi il problema penso sia nella lettura da file.
Ragazzi devo consegnare entro domenica e devo corregge questo problema...grazie...
__________________
......IN FASE DI COSTRUZIONE PC NUOVO.......

Ultima modifica di matteo.pata : 23-04-2010 alle 15:22.
matteo.pata è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2010, 00:57   #35
Furla
Senior Member
 
Iscritto dal: Feb 2004
Messaggi: 1454
devi allocare dinamicamente le stringhe con la malloc, altrimenti i char* puntano tutti alla stessa area di memoria.
Furla è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
Amazon, tutte le offerte e qualche novit...
Sedie gaming in offerta su Amazon: desig...
Scope elettriche in offerta Amazon: mode...
Ricarica EV fino a 22 kW spendendo poco:...
Costa solo 139€ ma fa tutto: Lefant M330...
Amazon Haul spinge sul risparmio: sconti...
Oral-B iO in offerta su Amazon: maxi sco...
I cosmonauti avrebbero riparato tutte le...
Artemis II: la NASA conferma il lancio d...
Il CEO di Embrak Studios difende l'uso d...
Il Trump Phone è sempre più un mistero: ...
OPPO ha svelato la serie Reno 15 "global...
Poste ID diventa a pagamento: l'identità...
7 articoli crollati di prezzo su Amazon ...
Lavatappeti, smacchiatore e Vaporella a ...
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: 12:56.


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