Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-09-2008, 12:03   #21
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Quote:
Originariamente inviato da cionci Guarda i messaggi
Sì, ha senso, però per trovare un elemento libero ti devi scorrere tutta la lista.
beh in effetti....

però mi sembra proprio semplice così, anche se ammetto che l'idea dello stack è di gran lunga più elegante
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 12:09   #22
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 Oceans11 Guarda i messaggi
però mi sembra proprio semplice così,
Sicuramente più semplice di tenersi le due liste come richiesto dal suo esercizio
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 12:11   #23
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Quote:
Originariamente inviato da cionci Guarda i messaggi
Sicuramente più semplice di tenersi le due liste come richiesto dal suo esercizio
Bah a dirla tutta, il testo di quell'esercizio è proprio contorto secondo me........lo sto leggendo e rileggendo, ma la mia comprensione peggiora di volta in volta

sarò io!?!
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 12:13   #24
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 Oceans11 Guarda i messaggi
sarò io!?!
Non sei tu, tranquillo A meno che non lo sia anche io
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 14:30   #25
Prince_81
Senior Member
 
L'Avatar di Prince_81
 
Iscritto dal: May 2008
Messaggi: 412
quindi lista libera la creo in questo modo:

Codice:
void lista_libera(int x[]){
int i;

for(i=0;i<7;i++){
x[i]=i+1;
}
x[i++]=-1;
	}
Prince_81 è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 14:31   #26
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
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 14:57   #27
Prince_81
Senior Member
 
L'Avatar di Prince_81
 
Iscritto dal: May 2008
Messaggi: 412
non capisco queste immagini relative ai nodi le metto in allegato
Immagini allegate
File Type: jpg prima di inserire.jpg (20.4 KB, 3 visite)
Prince_81 è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 14:58   #28
Prince_81
Senior Member
 
L'Avatar di Prince_81
 
Iscritto dal: May 2008
Messaggi: 412
ecco la seconda, perchè next viene decrementato a -1 se dovrebbe puntare al nodo successivo?
Immagini allegate
File Type: jpg dopo.jpg (22.8 KB, 3 visite)
Prince_81 è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 17:11   #29
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Prince_81 Guarda i messaggi
Codice HTML:
Siimullare in C una linked lliistt ttramiitte due array sttattiicii:: iill priimo
conttenentte lle iinformaziionii (può essere anche un array dii
sttructt),, iill secondo array conttenentte ii lliink (punttattorii aii nodii
delllla lliistta)..
[È necessario creare prima una “lista libera”, inizializzando l’array
dei link in modo che ogni componente punti alla componente
successiva. La lista libera corrisponde alla memoria in cui allocare
la lista delle informazioni: infatti i nodi da inserire nella linked list
delle informazioni, sono prelevati dalla lista libera; mentre i nodi da
eliminare dalla lista delle informazioni vanno restituiti alla lista
libera.]
l'esercizio consiglia

Codice HTML:
array di struct NODO {INFO, pnext}
simula la memoria dove saranno
allocati i nodi della lista lineare
ListaDati.
p_Libera
Per rendere dinamica la gestione della
“memoria simulata” viene creata inizialmente
la lista lineare ListaLibera (con p_Libera
puntatore alla sua testa)
L'esercizio e' spiegato un po' male, nel senso che prima sembra si debbano usare due array distinti (con tipi diversi) e invece nel suggerimento sembra si consigli di usarne uno solo, da usare sia per la lista vera e propria sia che per la lista libera. Mi sembra che questo sia piu' sensato. In questo modo minimizzi l'uso della memoria (usi un solo array) e garantisci prestazioni asintotiche migliori. Inoltre funziona anche quando vuoi creare piu' liste da un unico array


Io farei qualcosa cosi'
Codice:
typedef ... Info;
typedef size_t Ptr;

#define MEMORY_SIZE ...
#define NULL_NODE MEMORY_SIZE

struct Node { Info data; Ptr next; };

Node memory[MEMORY_SIZE];

Ptr myList;

void initFreeList();
Ptr nodeAlloc();
void nodeFree(Ptr);
...
nodeAlloc e nodeFree sono due funzioni che usi per "allocare memoria" (i.e. farti dare il prossimo elemento dalla lista libera e poi liberarlo), ad esempio
Codice:
void append( Ptr list, Info value )
{
  while ( memory[list].next != NULL_NODE )
    list = memory[list].next;
  memory[list].next = nodeAlloc();
  list = memory[list].next;
  memory[list].data = value;
  memory[list].next = NULL_NODE;
}
L'aspetto carino dell'approccio e' che puoi tenere "nascosto" il puntatore alla memoria libera e scrivere gli algoritmi semplicemente usanto nodeAlloc e nodeFree, a mo' di malloc e free. Se fai cosi' poi l'implementazione del resto dovrebbe venirti abbastanza naturale (al netto del sostituire quello che in C sarebbe "ptr->x" con "memory[ptr].x")
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 17:19   #30
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
Ah ok, stanno cercando di fare una finezza -1 perché è l'ultimo elemento della lista occupata. Comunque è spiegato veramente malissimo.
In pratica ti puoi gestire tutto con due soli vettori, uno di informazioni (mettiamo che siano interi) ed uno di indici. Di fatto il nodo è composto dalla sola informazione, non c'è next come avevamo detto.
Mettiamo che la situazione sia questa (8 elementi):
- lista dei liberi: 1 -> 5 -> 3 -> 7
- lista occupati (fra parentesi il valore delle informazioni): 6 (1) -> 0 (2) -> 2 (3) -> 4 (4)

I due vettori saranno (D = Dati. P = Puntatori):
Codice:
p_liberi = 1
p_occupati = 4

   D  I
0  2  2
1  x  5    <--- p_liberi
2  3  4
3  x  7
4  4 -1    <--- fine lista occupati
5  x  3
6  1  0    <--- p_occupati
7  x -1    <--- fine lista liberi
In pratica la lista degli occupati e dei liberi convivono nello stesso vettore.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2008, 19:31   #31
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Vado a memoria (non ce l'ho sotto mano) ma mi sembra che sia piu' o meno come e' spiegato nel Cormen.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2008, 11:21   #32
Prince_81
Senior Member
 
L'Avatar di Prince_81
 
Iscritto dal: May 2008
Messaggi: 412
i vostri esempi sono molto buoni, quello ci cionci mi sembra però più semplice e comprensibile per me, forse lui ha capito bene quello che il mio esercizio vuole.

Cionci non vorrei essere ripetitivo ma l'array degli indici va sempre inizializzato come ti ho fatto vedere nell'algoritmo di prima?
Codice:
void lista_libera(int x[]){
int i;

for(i=0;i<7;i++){
x[i]=i+1;
}
x[i++]=-1;
	}
se si il primo elemento è uguale a 1 ma per inserire un elemento in cima all'indice dell'array informazioni mi serve un indice uguale a 0 è questo che mi confonde ora, cioè quando io estraggo un nodo da lista libera questo parte da 1 ???

p_liberi all'inizio è inizializzato a 0 o a 1????????????????

mentre p_occupati all'inizio è inizializzato a -1???

Ultima modifica di Prince_81 : 21-09-2008 alle 11:31.
Prince_81 è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2008, 17:09   #33
Prince_81
Senior Member
 
L'Avatar di Prince_81
 
Iscritto dal: May 2008
Messaggi: 412
Finalmente ho capito cosa mi confondeva nell'esempio che vi ho fornito con le immagini, era la visaulizzazione delle informazioni che io prentendevo avvenisse partendo dalla lettera A, mentre la testa è p_data ed è da li che bisogna iniziare a leggere le informazioni, ecco un immagine di quanto detto.
Immagini allegate
File Type: jpg LISTA.jpg (22.5 KB, 3 visite)
Prince_81 è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2008, 17:12   #34
Prince_81
Senior Member
 
L'Avatar di Prince_81
 
Iscritto dal: May 2008
Messaggi: 412
Grazie ragazzi e soprattutto a te Cionci che hai capito fin da subito cosa voleva l'esercizio e con i tuoi esempi mirati mi hai guidato verso la soluzione.
Prince_81 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
SK hynix: HBM, DRAM e NAND completamente...
Ring porta in Italia videocamere e video...
Windows 11 e 10: finalmente risolto il p...
TEE.fail è l'attacco che scardina...
Cameo fa causa a OpenAI: il nome del nos...
HyperOS 3 arriva anche su Xiaomi 15: int...
Telegram, Pavel Durov lancia Cocoon: l’i...
Dai suicidi ai nuovi limiti: Character.A...
Offerte Amazon per potenziare il PC: sup...
Toyota trasforma la sua auto più ...
Addio agli errori di Windows Update: l'u...
Nessuno vuole comprare iRobot: cosa succ...
GAMING 360 ICE, un dissipatore AIO davve...
GitHub: entro il 2030 l'India superer&ag...
OnePlus 15 arriva il 13 novembre in Ital...
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: 13:44.


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