Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC
Abbiamo provato la Gigabyte Radeon RX 9070 GRE Gaming OC, nuova proposta RDNA 4 che si inserisce tra GeForce RTX 5060 Ti e RTX 5070. Prestazioni solide in rasterizzazione e ray tracing, frequenze elevate grazie all'overclock di fabbrica e raffreddamento efficace: ecco come si comporta nei nostri test.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-03-2004, 12:57   #1
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
Ordinamento di un vettore

Un po di tempo fa avevo fatto un corso nel quale, per affrontare lo stage, dovetti fare un colloquio.
il corso era su vb ma sinceramente non ne sapevamo veramente niente.
al colloquio mi chiesero di ordinare un vettore di interi in modo crescente

nonostante non lo avessimo mai trattato nel corso (nemmeno i vettori facevano parte degli argomenti trattati nel corso) mi ci sono messo e ero riuscito a trovare una mezza soluzione....

qualcuno di voi potrebbe postarmi la soluzione?
possibilmente in vb ma se è in un'altro linguaggio va benissimo comunque!

thanks!
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2004, 14:40   #2
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Gli algoritmi di ordinamento degli array sono fra i fondamenti di qualunque linguaggio...

Vai su google e cerca "algoritmi ordinamento array"
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2004, 14:45   #3
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
Quote:
Originariamente inviato da cn73
Gli algoritmi di ordinamento degli array sono fra i fondamenti di qualunque linguaggio...

Vai su google e cerca "algoritmi ordinamento array"
Thanks!
cercherò!
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2004, 14:47   #4
PGI
Bannato
 
L'Avatar di PGI
 
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
Mi sono messo nei tuoi panni e ho cercato una soluzione al problema. Non che non esistano fior fior di algoritmi per fare quello che ti hanno chiesto (pare sia un grande classico dell'informatica, con i suoi Bubble Sort, Quick sort ecc.) ma il problema è per chi, come me, di studi scientifici ne ha fatti ben pochi. Un conto è leggere l'algoritmo e tradurlo in codice, un altro è farlo su due piedi.

Da feticista, mi sono cronometrato. In 1 ora e 16 minuti ho prodotto un algoritmo non ricorsivo di rara inefficenza, che però ha il pregio di essere un parto dei due o tre neuroni che ancora rimangono attivi.

Il primo problema che ho affrontato è quello di trovare in un vettore di numeri il numero minore.

in pseudo-pseudo codice, la faccenda l'ho risolta così:

Codice:
intero X = vettore.primoElemento;
intero INDICE = 0;

ciclo:
  per ogni numero N nel vettore, a partire dal secondo:
  
    se X è maggiore di N  ->  INDICE = indice_di_N
fine ciclo.
dopo il ciclo, INDICE è diventato l'indice del numero più piccolo all'interno del vettore.

Con grande stupore di me stesso, ho scoperto che a questo punto i giochi erano già fatti.

Bastava rimuovere dal vettore originale il numero più piccolo ed infilarlo in coda ad un secondo vettore, che contenesse i numeri "ordinati": a questo punto infatti il vettore originale, avendo perso l'elemento più piccolo tra quelli contenuti, sarebbe stato già pronto per un nuovo passaggio alla ricerca del numero minore.

quindi, se N è il numero di elementi del vettore originale, l'algoritmo completo diventa

Codice:
vettore
cache

ciclo esterno da 0 a N:
  intero X = vettore(0);
  intero indice = 0;

  ciclo interno da J = 1 a J = vettore.dimensione:
    intero Y = vettore(J);
    se (X > Y) -> indice = J; X = Y;
  fine ciclo interno
  
  vettore.rimuovi(elemento_indice);
  cache.aggiungi(elemento_eliminato);
fine ciclo esterno.
In Java la cosa assume la seguente forma:

Codice:
Vector<Integer> vettore = //vettore con i numeri
Vector<Integer> cache = new Vector<Integer>();
int numLoops = vettore.size();
for(int loop = 0; loop < numLoops; loop++) {
	int size = vettore.size();
	int valore = vettore.get(0);
	int indiceMinore = 0;

	for(int i = 1; i < size; i++) {
		int valore2 = vettore.get(i);
		if(valore > valore2) {
			valore = valore2;
			indiceMinore = i;
		}
	}
	cache.add(vettore.remove(indiceMinore));
}
In VBasic sono certo che i vettori abbiano un comportamento analogo: in Java "get(int)" restituisce (ma non rimuove) il valore dell'elemento di indice "int", "remove(int)" restituisce e rimuove l'elemento di indice "int", "add(valore)" aggiunge in coda al vettore "valore".

Se cerchi in rete per "Bubble Sort" o "Quick Sort" trovi la soluzione "reale" al problema.

Ciao.
PGI è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2004, 14:55   #5
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Di algoritmi per l'ordinamento ne esistono un bel po', ognuno coi suoi pregi e i suoi difetti...

Algoritmi di ordinamento per array:
Insertsort.
Selectsort.
Bubblesort.
Heapsort.
Quicksort.
Mergesort.

http://www.sti.uniurb.it/info_appl_l...stru_dati.html

PGI puoi sopperire alle tue mancanze teoriche studiando i pregi e i difetti di ognuno, e soprattutto la complessità computazionale:

Quote:
La complessità computazionale si occupa della valutazione del costo degli algoritmi in termini di risorse di calcolo, quali il tempo di elaborazione e la quantità di memoria utilizzata. Nel contesto della complessità computazionale vengono anche studiati i costi intrinseci alla soluzione dei problemi, con l'obiettivo di comprendere le prestazione massime raggiungibili da un algoritmo applicato a un problema." (Cadoli)
http://digilander.libero.it/unno2/sort/complessita.htm

Se ho imparato a conoscerti un minimo questa cosa ti farà sbiellare
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2004, 14:57   #6
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
Grazie per il codice!

io dovevo farlo in un colloquio e non ho avuto tutto questo tempo, ma in 20 minuti con un po di aiutini, per lo più inutili, sono riuscito a fare un codice scandaloso ma almeno funzionante!
al contrario degli altri io sono riuscito a finirlo! (forse è per questo che ora ti sto scrivendo dall'ufficio)
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2004, 15:07   #7
PGI
Bannato
 
L'Avatar di PGI
 
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
Quote:
Originariamente inviato da cn73
Se ho imparato a conoscerti un minimo questa cosa ti farà sbiellare
Colpito e affondato , stavo proprio cercando, due minuti dopo aver scritto il codice, un pagina che spiegasse la complessità degli algortimi
PGI è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2004, 15:37   #8
ri
Senior Member
 
L'Avatar di ri
 
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
Codice:
std::vector<int> v;
// carico v
std::sort(v.begin(), v.end());
facile facile

come han già detto cmq gli algoritmi di ordinamento sono la base di qualsiasi corso di programmazione
è caldamente consigliato un loro studio
ri è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2004, 16:05   #9
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
Quote:
Originariamente inviato da ri
Codice:
std::vector<int> v;
// carico v
std::sort(v.begin(), v.end());
facile facile

come han già detto cmq gli algoritmi di ordinamento sono la base di qualsiasi corso di programmazione
è caldamente consigliato un loro studio

Purtroppo il corso al quale mi ero iscritto era veramente Scandaloso in quanto ad argomenti trattati

esempio?

avevamo due materie sui database e l'unica cosa che sapevo fare era una select semplice senza join e basta!
il nome del corso? "sviluppatore applicazioni client/server"
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2004, 18:17   #10
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
ne esistono di diversi tipi l'importante è chè sai come funzionano, dopo il codice è semplice da scrivere.

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Recensione Vivo X300 Ultra: fotocamera eccezionale, ma prezzo proibitivo Recensione Vivo X300 Ultra: fotocamera ecceziona...
Linux 7.2 si avvierà sui Mac M3, ...
Xiaomi 17T e 17T Pro a prezzi mai visti:...
Microsoft annuncia Majorana 2 e prevede ...
Windows 11: addio ai menu contestuali ca...
Maxi raid internazionale contro la pirat...
Top 10 offerte Amazon, 3 tutte nuove: al...
Windows Update, driver installati a sorp...
Finalmente in offerta DEEBOT T50 PRO OMN...
HONOR lancia Pad X8b: batteria infinita ...
Il data center dell'apocalisse è stato r...
Google DeepMind avverte: "L'AGI è a poch...
TSMC: le nuove fabbriche non soddisferan...
Oggi è un ASUS il portatile gamin...
Addio R8, benvenuta Nuvolari: Audi punta...
Google chiede il via libera per liberare...
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:23.


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