Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme
ASUS e Noctua tornano a collaborare con la GeForce RTX 5080 Noctua OC Edition, una scheda pensata per chi cerca potenza estrema e silenziosità assoluta. Il nuovo sistema di raffreddamento, con tre ventole Noctua NF-A12x25 G2 da 120 mm e una camera di vapore maggiorata, promette temperature record e rumorosità quasi impercettibile. Non mancano dual BIOS, materiali di qualità e ampie possibilità di overclock. Ma quanto migliora davvero rispetto alla Founders Edition? Scoprilo nel nostro test completo.
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Il più recente robot per la pulizia domestica di Dreame, modello Aqua10 Ultra Roller, abbina un potente motore di aspirazione della polvere a un sofisticato sistema di lavaggio con rullo integrato. Il tutto governato dalla logica di intelligenza artificiale, per i migliori risultati
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Siamo volati fino a Belfast, capitale dell'Irlanda Del Nord, per scoprire il nuovo Realme 15 Pro 5G Game Of Thrones Limited Edition. Una partnership coi fiocchi, quella tra Realme e HBO, un esercizio di stile davvero ben riuscito. Ma vi raccontiamo tutto nel nostro articolo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-11-2011, 11:48   #21
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12856
Quote:
Originariamente inviato da !fazz Guarda i messaggi
per la questione della tabella ascii, a parte che una sottomano serve sempre

comunque basta ricordarsi che
A è 65
a è 97
e il 32 non è altro che la differenza


per la laboriosità mi sembra molto più laborioso il tuo metodo tra ordinamenti e confronti vari oltre che computazionalmente parlando senza senso: consumi una cifra di tempo di calcolo tra (inutili )ordinamenti ecc ecc dimenticantoti della definizione di anagramma

una stringa è un anagramma di un altra se e solo contiene ogni carattere ripetuto lo stesso numero di volte

se non ti è chiaro fatto con i numeri avresti potuto farlo con un case switch sul carattere ma sicuramente è più giusto che fare il casino che stai facendo
tra ordinamenti e permutazioni varie il tuo algoritmo ha complessità troppo elevata

ricorda sempre una delle regole principe della programmazione: il KISS



riguardo alle permutazioni: devi rifare tutta la funzione visto che di casuale non hai nulla devi usare il random
Non sono d'accordo, il ragazzo deve risolvere il problema prima di tutto, ed ha perfettamente senso ordinare le due stringhe per verificare se sono anagrammi, dal momento che in un'anagramma è proprio la posizione a fare la differenza.

ordinato -> adinoort
tanordio -> adinoort

Quindi le due parole sono anagrammi.

In realtà se ci pensi bene quello che proponi tu non è nient'altro che un ordinamento Integer Sort O(n) applicato ai caratteri (che sono sempre interi dal nostro punto di vista) .

Notare anche che per piccoli numeri un ordinamento O(n^2) si comporta meglio di altri e che comunque su piccoli set di dati la differenza è trascurabile.

Ogni algoritmo va applicato in base anche al contesto e non solo perché sulla carta è più efficiente...

Ultima modifica di WarDuck : 13-11-2011 alle 11:50.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2011, 17:03   #22
mistergks
Senior Member
 
L'Avatar di mistergks
 
Iscritto dal: Mar 2011
Messaggi: 1050
Quote:
Originariamente inviato da __ZERO_UNO__ Guarda i messaggi
Per la permutazione potresti usare questo algoritmo:
ammesso che v sia l'array di caratteri o una stringa
Codice:
// sono suff. length(v) - 1 scambi. Il primo elem. di v ha indice 1
for k = length(v) downto 2 do 
  // numero casuale in [0,1] o (0,1), è lo stesso.
  u = rand(); 
  // indice casuale in {1,...,k}.
  // Attenzione, Int sta per parte intera, non arrotondamento.
  i = Int(u*k) + 1; 
  // scambia l'elem in posizione i con quello in pos k
  swap(v[i], v[k]); 
end
non ho ben capito...potresti mostrarmi codice c++?o magari c..
mistergks è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2011, 17:43   #23
__ZERO_UNO__
Member
 
L'Avatar di __ZERO_UNO__
 
Iscritto dal: Jul 2009
Città: Milano
Messaggi: 270
Ti ho scritto lo pseudo-codice per non darti la pappa pronta e imparare a farlo da solo.Non capisco come del codice in c++ possa essere più chiaro dello pseudo-codice.Se non hai capito qualcosa in particolare chiedilo.
Comunque... Abbiamo n posizione nell'array. Parto dal fondo, cioè da n, e scelgo in modo casuale quale lettera mettere in n. Ogni lettera della parola ha uguale probabilità di occupare quella posizione. Dopo devo scegliere una lettera, fra quelle che sono rimaste, da mettere nella posizione n-1. Fatto questo devo scegliere una lettera, fra quelle rimaste, da mettere nella posizione n-2. Si prosegue cosi fino all'esaurimento delle lettere.
k è la posizione corrente in cui devo mettere la lettera e, l'insieme {1, 2, ..., k} di indici, le posizioni delle lettere possibili da scegliere.




u = rand();
i = Int(u*k) + 1;

è un modo per generare una variabile aleatoria con distribuzione discreta uniforme su k elementi.
__________________

AMD PII x4 955 BE | Sapphire HD4850 Vapor-X 1 GB | Samsung SpinPoint F1 500GB | Samsung EcoGreen F4 2TB
Gigabyte GA-MA790FXT-UD5P | Fractal Design Define R3 USB3.0 Titanium Grey | CORSAIR 650W CMPSU-650TX
Noctua U12P SE2 | 2 x 2GB Kingston 1333 MHz | Samsung SyncMaster P2450 | Samsung SyncMaster T200
__ZERO_UNO__ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti Recensione Realme 15 Pro Game Of Thrones: un ver...
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
MacBook M3 e GeForce RTX 5090? Possibile...
Da Hinton a Wozniak, ecco chi chiede di ...
Gli autobus elettrici possono essere pi&...
Come aggiornare il PC spendendo poco: GP...
Netflix punta sull'interattività:...
Amazon lancia Blink Mini 2K+ e Blink Arc...
CMF Watch 3 Pro: dice la sua a meno di 1...
Hacker guadagnano oltre 500.000 dollari ...
Nintendo annuncia un nuovo Direct dedica...
Windows 11: problemi di accesso su alcun...
Fastweb down oggi in tutta Italia sia su...
Non si sa cos'è, ma questo nuovo ...
Meta introduce un nuovo sistema di prote...
Amazon scatena gli sconti: TV OLED, smar...
Perplexity sbarca sulle TV Samsung: l'AI...
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: 15:22.


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