Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione
realme C100x scommette tutto, forse troppo, sulla batteria da 7500 mAh e sulla certificazione ArmorShell per farsi notare nella fascia più economica del mercato: lo abbiamo messo alla prova per capire a chi è rivolto questo smartphone che sacrifica un po' prestazioni, display e fotocamera per offrire l'autonomia migliore possibile a un prezzo decisamente contenuto
Star Wars Zero Company è l'erede di XCOM 2
Star Wars Zero Company è l'erede di XCOM 2
Bit Reactor porta nell’universo di Star Wars una struttura tattica che richiama apertamente XCOM 2, ma la arricchisce con legami tra i personaggi, progressione ruolistica, gestione della base e un sistema di combattimento costruito attorno a tre Punti Azione e alle risorse condivise della squadra
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-02-2004, 17:09   #1
xber-gigi
Senior Member
 
L'Avatar di xber-gigi
 
Iscritto dal: Jun 2003
Città: Pianeta Terra
Messaggi: 281
AIUTO!!! MI SPIEGATE CHE DEVO FARE???

Ragazzi devo assolutamente fare questo esercizio-programma ma non ho ben capito cosa mi chiede?!?!?

Devo ralizzare un algoritmo di somma di due vettori sparsi, memorizzati nel formato a coordinate. Nei test usare vettori di ordine 100, 200, 500, in cui solo il 5% degli elementi è non nullo.

Generare a caso sia il valore di un elemento non nullo (un intero in 0,1,..,10) sia il suo indice. Usare la function rand() in <stdlib.h> per generare numeri casuali; per esempio, se numero_casuale è un int, la chiamata numero_casuale=rand()%11; genera un numero casuale intero (distribuzione uniforme) nell’insieme (0,1,2,..,10).

Che significa????
__________________
LE AVVENTURE DI AL METALLER E CHELA FDM - IL FOTOROMANZO TRASH!
When I'm walking a dark road... I am a man who walks alone...
xber-gigi è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 17:22   #2
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
L'esercizio ti spiega come generarti due vettori casuali e sommarli. Un vettore è sparso se gli elementi non nulli sono molto pochi, il tuo esercizio indica adesempio che ci sono il 5% di elementi non nulli. Se consideri vettori di 100 elementi, 95 elementi varranno zero, gli altri 5 saranno diversi da zero. Utilizzando la funzione rand ti generi 5 numeri casuali tra 0 e 99: questi saranno gli indici degli elementi non nulli. Poi per ogni indice ti generei un numero a caso tra 1 e 10 sempre con la funzione rand. In questo modo ti compili causalmente i due vettori, che andranno sommati, non so se l'esercizio richiede di utilizzare qualche particolare algoritmo per la somma, in genere per vettori/matrici sparse si possono adottare algoritmi un po modificati che danno migliori prestazioni in certe operazioni, ma non li conosco.

Ciao
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 17:44   #3
xber-gigi
Senior Member
 
L'Avatar di xber-gigi
 
Iscritto dal: Jun 2003
Città: Pianeta Terra
Messaggi: 281
Quote:
Originariamente inviato da anx721
L'esercizio ti spiega come generarti due vettori casuali e sommarli. Un vettore è sparso se gli elementi non nulli sono molto pochi, il tuo esercizio indica adesempio che ci sono il 5% di elementi non nulli. Se consideri vettori di 100 elementi, 95 elementi varranno zero, gli altri 5 saranno diversi da zero. Utilizzando la funzione rand ti generi 5 numeri casuali tra 0 e 99: questi saranno gli indici degli elementi non nulli. Poi per ogni indice ti generei un numero a caso tra 1 e 10 sempre con la funzione rand. In questo modo ti compili causalmente i due vettori, che andranno sommati, non so se l'esercizio richiede di utilizzare qualche particolare algoritmo per la somma, in genere per vettori/matrici sparse si possono adottare algoritmi un po modificati che danno migliori prestazioni in certe operazioni, ma non li conosco.

Ciao
Innanzitutto grazie mille per la tua risposta!

Potresti un pò chiarimri la parte riguardante l'indice??? Che devo fare???

Devo quindi creare due array di grandezza 100??? (o meglio 500)
__________________
LE AVVENTURE DI AL METALLER E CHELA FDM - IL FOTOROMANZO TRASH!
When I'm walking a dark road... I am a man who walks alone...
xber-gigi è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 18:35   #4
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Crei un array di 100 elementi. Poi devi sceglierti a caso quali indici saranno occupati da numeri non nulli. Per fare ciò fai un cilco for di lungezza pari a 5 (5 è il 5% di 100), e in ogni iterazione sfrutti la funziona rand per generarti un numero causale tra 0 e 99: questo numero rappresenta un indice in cui inserirai un elemento diverso da zero. Se la funzione rand ti restituisce un indice già uscito, lo puoi incrementare o decrementare fino a trovare un indice in cui non è gia stato inserito un numero non nullo.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 15:12   #5
xber-gigi
Senior Member
 
L'Avatar di xber-gigi
 
Iscritto dal: Jun 2003
Città: Pianeta Terra
Messaggi: 281
Quote:
Originariamente inviato da anx721
Se la funzione rand ti restituisce un indice già uscito, lo puoi incrementare o decrementare fino a trovare un indice in cui non è gia stato inserito un numero non nullo.
Ho risolto così:

while (vett2[posizione]!=0)
{
posizione=posizione+1;
}

Dici che va bene?
__________________
LE AVVENTURE DI AL METALLER E CHELA FDM - IL FOTOROMANZO TRASH!
When I'm walking a dark road... I am a man who walks alone...
xber-gigi è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 15:47   #6
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Quote:
Originariamente inviato da xber-gigi
Ho risolto così:

while (vett2[posizione]!=0)
{
posizione=posizione+1;
}

Dici che va bene?

Come concetto va bene, ma devi fare una piccola modifica perche se no puoi esaurire tutti gli indicidell'array senza trovarne uno libero:

posizione = (posizione+1) % 100;

in questo modo, con l'operazione di modulo, se arrivi all'indice 99 senza aver trovato un indice libero, riprendi a controllare a partire da zero. (Questo per vettori di cento elementi, per vettori di 500 elementi ovviamente sostituisci 500 con 100)
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 15:59   #7
xber-gigi
Senior Member
 
L'Avatar di xber-gigi
 
Iscritto dal: Jun 2003
Città: Pianeta Terra
Messaggi: 281
Per costa sta quel % ???

Cmq grazie mille per le risposte!
__________________
LE AVVENTURE DI AL METALLER E CHELA FDM - IL FOTOROMANZO TRASH!
When I'm walking a dark road... I am a man who walks alone...
xber-gigi è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 16:09   #8
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Quote:
Originariamente inviato da xber-gigi
Per costa sta quel % ???

Cmq grazie mille per le risposte!
% indica l'operazione di modulo:

n % m dà come il risultato il resto della divisione intera n:m. E' facile verificare che n%m è un numero compreso tra 0 e m-1. L'operazione di modulo quindi la puoi usare ogni volta che vuoi incrementare una variabile inmodo "circolare", cioè la variabile può assumere un valore massimo max-1, dopodichè ritorna al valore zero:

0, 1, 2,3,....max - 1, 0, 1, 2...max - 1, 0...


Quindi, con l'operazione

n = (n + 1) % max

se n + 1 è minore di max ad n si assegna n + 1, altrimenti ad n viene assegnato zero.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Tutte le Offerte Prime anticipate: robot...
Procura di Sassari e Oxygen Forensics: i...
Duo-Man trasforma iPhone Duo in un Walkm...
Questa carta da parati produce elettrici...
Perseverance scopre su Marte rocce mai o...
Batterie allo stato solido, Gotion alza ...
Caviar presenta la Black Edition di iPho...
Il Buono, il Brutto, il Cattivo e Star W...
GTA 6, la mappa di gioco sarà div...
Tesla brevetta una 'Electric Fan Car' co...
Chi usa l'IA al lavoro: uno su tre lo fa...
Mac mini M5 Pro a 1.897€: 307 GB/s di ba...
QNAP presenta TS-432XeU, un nuovo NAS da...
Dreame Aqua10 Roller a 479€: nuovo minim...
Apple ha rinviato il piano di taglio di ...
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: 14:14.


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