Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
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-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-06-2010, 14:15   #1
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
[C] Progetto da realizzare in C

Ciao a tutti mi servirebbe una mano su un progetto che devo consegnare per l'università.
Ecco il testo:

Il problema
Come noto, per creare un nuovo mondo a partire dal caos primordiale, bisogna innanzitutto dividere la terra dalle acque. In questo progetto si fa proprio questo. Il mondo appena creato viene poi diviso in habitat al fine di essere popolato.

Divisione terra/acqua
Il caos primordiale è costitutito da una griglia N x N di caselle. Ad ogni casella è associato un valore di Vitalità Primordiale (numeri interi, cioè positivi o anche negativi). Ogni casella è adiacente ad altre 8 (2 in verticale, 2 in orizzontale, e 4 in diagonale - chiaramente le caselle di bordo sono adiacenti solo ad altre 5 caselle, e le quattro caselle di spigolo solo ad altre 3). Ogni coppia di caselle adiacenti possono essere direttamente connesse, oppure possono essere reciprocamente separate da una apposita barriera.
Inizialmente tutte le coppie di caselle adiacenti sono separate da una barriera. La creazione del mondo consiste nella rimozione progressiva di queste barriere, una ad una. Notare che le barriere che separano coppie di caselle in diagonale sono indipendenti fra loro: date 4 caselle adiacenti
AB
CD
la rimozione della barriera fra A e D non implica (nè impedisce) quella della barriera fra B e C.
Due caselle sono dette comunicanti se è possible raggiungere la prima dalla seconda attraverso una sequenza di caselle ciascuna direttamente connessa alla successiva.
Dai quattro angoli del caos primordiale viene immessa di continuo acqua e terra (in effetti, sabbia), che da qui si espande in tutte le caselle comunicanti. Dall'angolo Nord-Ovest e da quello diametralmente opposto
viene immessa acqua; dagli altri due, terra. In ogni momento, una casella può essere già riempita o da terra o da acqua, proveniente da uno dei quattro angoli, oppure può essere ancora vuota. Inizialmente, solo i quattro angoli sono riempiti (da acqua o terra).
Come noto acqua e terra vanno separate! Una barriera non viene mai tolta se ciò causasse un mescolamento di acqua e terra. Cioe' non viene mai rimossa una barriera che separa due caselle attualmente invase rispettivamente da acqua e da terra. Di tutte le altre barriere, viene rimossa ogni volta quella che
separa le due caselle adiacenti la cui vitalità sommata sia maggiore. In caso di pareggio, si rimuova la barriera che connette la casella più settentrionale, e in caso di ulteriore pareggio, quella più ad oriente.
Nota: la rimozione di una barriera non implica sempre un travaso di acqua o sabbia in una zona non ancora occupata. Può succedere ad esempio che si rimuovano barriere fra zone ancora senza nè acqua nè sabbia, oppure fra zone entrambe già occupate da acqua, etc.
La crazione del mondo termina quando sono rimaste solo barriere necessarie a separare acqua da terra.
Nota: a questo punto, ogni casella sarà necessariamente riempita di acqua oppure di sabbia.
Inoltre, l'acqua immessa da Nord e quella immessa da Sud sono diverse per salinità, composizione chimica, etc, e distinguibili; lo stesso vale per la sabbia. Al termine della creazione del mondo, può succedere che l'acqua immessa dai due angoli opposti si sia miscelata, oppure che sia rimasta separata da barriere, e lo stesso per la sabbia: quando una casella di acqua (o sabbia) è cumunicante con entrambe le fonti di acqua (o sabbia), queste si amalgano e si ottine acqua (o sabbia) "mista", distinguibile da ciascuna delle
due originali "pure".

Suddivisione in Habitat
Una volta separate terra e acqua, il passaggio successivo è il popolamento con animali e piante. Genie diverse (ancora senza nome) vengono create per habitat diversi. Al fine di creare in serie esseri viventi nelle giuste quantità, bisognerà misurare quanto sono diffusi ciascuno dei diversi habitat che si sono
formati (oceani, coste, fiordi, pianure, etc).
Ogni casella ha infatti un habitat, definito dal pezzetto di mondo 7 x 7 centrato intorno a quella casella.
Ogni configurazione diversa corrisponde ad un habitat diverso. Dunque due caselle, a qualunque distanza, hanno lo stesso habitat, se sono entrambe invase della stessa acqua (o sabbia), e se sono circondate dalla stessa configurazione di terra e acqua (distinguendole inoltre fra mista e pura, e, se pura, per origine). In altre parole due caselle hanno lo stesso habitat se e solo se i loro due intorni corrispondono esattamente nel contenuto, casella per casella, orientamento compreso. In altre parole ancora, un animale che viva in una casella non avrebbe modo di distinguere quella casella da altre caselle con lo stesso habitat guardandosi intorno entro tre caselle in ogni direzione, nemmeno con l'ausilio di una bussola.
Caselle vicine al bordo (o sul bordo) sono circondate da meno caselle di mondo: il loro habitat avrà dunque alcune caselle mancanti. Questi habitat "di bordo" possono essere identici solo ad habitat dello stesso tipo.
Lo scopo di questa fase è determinare, per ogni casella di mondo, quante altre caselle condividano lo stesso identico habitat.

Dati in Input
Il file di input e' un file di testo in ASCII così formattato: inizialmente, compare il numero di righe (che è anche quello di colonne) che compone il Caos Primordiale. Poi, di fila, il valore di Vitalità Primordiale di ciascuna casella, riga per riga, a partire dall'angolo a Nord-Ovest (finendo dunque nell'angolo a Sud-Est).

Output 1/2: divisione terra e acqua
La divisione finale fra terra e acqua deve essere scritta in un file di testo ASCII, con lo stesso nome del file di input, ma terminato dal postfisso "_b.ppm". La prima riga deve contenere i caratteri P3 (una lettera P
e il numero 3, attaccati). La seconda riga di testo deve contenere il numero di righe del mondo, ripetuto due volte (altezza e larghezza della griglia dunque), seguito dal valore 7 (questi tre numeri vanno separati da spazi).
Dalla terza riga in poi deve comparire una serie di numeri separati da spazi, tre per casella, che specificano se quella casella è invasa da acqua, da terra, e, in entrambi i casi, se l'acqua o la terra provengono dalla fonte nell'angolo a Nord o a Sud (o se si tratta di commistioni).

Si faccia riferimento alla seguente tabella:
Semantica: Tripletta:
Acqua "pura" da fonte a N-O 2 0 5
Acqua "pura" da fonte a S-E 0 2 5
Acqua miscelata 1 1 5
Sabbia "pura" da fonte a N-E 2 5 0
Sabbia "pura" da fonte a S-O 0 5 2
Sabbia miscelata 1 5 1
L'ordine delle caselle è lo stesso di quello del file in input: dalla riga più a Nord a quella più a Sud, e, in ogni riga, dalla casella più a Ovest a quella più a Est. Si possono aggiungere liberamente caratteri di spazio, accapo o tabulazione fra i numeri o le triplette.

Output 2/2: separazione e conteggio habitat
Anche in questo caso, deve essere prodotto un file di testo ASCII, con lo stesso nome del file di input, ma aggiunto dell'estensione "_a.ppm". La prima riga deve contenere i caratteri P2. La seconda riga è identica a quella del primo file prodotto.
Dalla terza riga in poi deve comparire una serie di numeri separati da spazi, uno per casella, nello stesso ordine descritto sopra. Per ogni casella, deve comparire il numero 0 se l'habitat di quella casella compare più di altre 7 volte, altrimenti il numero (7 - i), se l'habitat di quella casella compare identico altre i volte nella scacchiera (caselle che hanno un habitat unico nella mappa appaino dunque col numero 7).

Esempi di istanze del problema
In una griglia 3 x 3 come la seguente:
6 1 7
2 20 4
5 3 8
La prima barriera ad essere abbattuta è quella fra 20 e 8. Come conseguenza, la casella di valore 20 si riempie di acqua proveniente dall'angolo Sud-Est. La seconda barriera a saltare sarebbe quella fra 20 e 7, ma questo causerebbe un miscelamento di acqua e terra. Quindi viene invece rimossa la barriera fra
20 e 6: l'acqua proveniente da Sud-Est e quella proveniente da Nord-Ovest si miscelano. Dopo tutte le rimozioni, la situazione finale vede tutte le caselle riempite di acqua mista, meno i due angoli di valore 7 e 5, che saranno rimasti di sabbia \pura" del rispettivo tipo.
In una griglia così piccola ogni casella ha un habitat reso diverso dalle condizioni di bordo (ad es, la casella di valore 6 è l'unica con prosecuzioni di mondo a E, S e SE).

Mi servirebbe una mano nella struttura dati da utilizzare per ottimizzare al meglio i tempi e il costo delle varie funzioni inerenti al progetto.
Non richiedo una risoluzione del progetto ma una mano nella scelta della struttura dati da scegliere tutto qua....

Ecco l'intero testo del progetto:
http://rapidshare.com/files/39400955...2010d.pdf.html
__________________
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 01-06-2010, 16:18   #2
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Dato ke nel file di testo passato come input, oltre ai valori delle vitalità, mi viene anke passato il numero n di righe o colonne. Quindi ho pensato di memorizzare la matrice passata in un array di dimensione n*n.

Da questo array costruisco un'heap (in modalità top-down o bottom-up) e quindi in cima allo heap avrò la casella con la vitalità maggiore da cui partirò e da li poi proseguire con i collegamenti se possibili, dice ke può reggere??

L'elemento casella lo vedo come costituito dal valore + un char x indicare se conterrà acqua o terra.

Consigli?
__________________
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 03-06-2010, 13:55   #3
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
up
__________________
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 04-06-2010, 11:38   #4
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
up
Credo che aver presentato tutto l'intero progetto abbia provocato un pò di spavento agli utenti del forum... ci vuole molto tempo per leggersi tutto, capire il problema, pensare ad una soluzione e proporti qualcosa...

Il mio consiglio è di cominciare a buttare giù qualcosa tu poi quando trovi una difficoltà chiedi relativamente per quel determinato passaggio.

Penso che così avresti più risposte. Posta del codice.

Non che altrimenti non ci sia volontà di aiutarti ma purtroppo il tempo è nemico numero uno in molti casi..... ... anche il mio....

divide et impera no?
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
36 idee regalo con offerte Amazon sotto ...
Sony assume il controllo dei Peanuts: Sn...
DJI Neo scende a 149€ su Amazon, in vers...
Scoperto un nuovo esopianeta che orbita ...
Blue Origin NS-37: successo per la missi...
Potrebbe essere stata rilevata una super...
La cometa interstellare 3I/ATLAS è...
Xiaomi 17 Ultra: l'autonomia non sarà un...
Il processo produttivo a 2 nm di TSMC è ...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
19.000 Pa a un prezzo senza precedenti: ...
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: 10:13.


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