Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-01-2007, 19:28   #1
AYAMY
Senior Member
 
L'Avatar di AYAMY
 
Iscritto dal: Dec 2003
Messaggi: 704
ARRAY , VETTORE e SALVATAGGIO VALORI

Ciao a tutti.. ho questo problemino.. dovrei salvare dei NUMERI CON VIRGOLA in un array o vettore che si voglia ... il codice che mi genera i numeri secondo una determinata formula matematica già l'ho fatto e va bene...lo trovate poco sotto... adesso però dovrei salvare tutti questi valori all'interno di un array e sceglierne 1 a caso.. qualche idea?

PS: per la lettura a caso io ho pensato di leggere una "delle caselle" dell'array costituito da 100 numeri basandomi sulla lettura del valore della "cella" il cui indice andrei a generarlo in modo casuale (tra 100 numeri appunto)....ADESSO PERO' IL PROBLEMA RESTA SEMPRE LO STESSO COME SALVO I NUMERI IN UN ARRAY?

#include <iostream>
using namespace std;

int main(){
double angle = 180;
// concetto di misura: la misura �data dal valor vero +- una certa incertezza
// data appunto dallo strumento di misurazione
// un buon strumento di misura , come assumiamo che sia la nostra antenna
// ha una precisione dell'ordine del 5% della grandezza misurata che �
// appunto il valore dell'angolo.
// Assumo che l'incertezza abbia un valore pari a 3sigma sfruttando cos�la propriet�
// della distribuzione di Gauss che mi garantisce una probabilit�pari al 99.7%
// di estrarre all'interno del nostro campione la Media della distribuzione
// della popolazione Madre
//IMPLEMENTAZIONE
// scelgo 3sigma = all'incertezza cio�appunto a 5% del valore dell'angolo
float triplo = (0.05*angle);
float singolo = (triplo/3);
float doppio = (singolo*2);
// impongo il valore di 3sigma= alla precisione dell'antenna * angolo non affetto
// da errore (cio�* la Media della distribuzione di Gauss)
int maxuno = ((((int)singolo)));
int maxdue = ((((int)doppio)));
int maxtre = ((((int)triplo)));
srand(time(0)); // inizializzo il seme per il calcolo dei numeri random
for (int i = 1; i <= 68; i++) {
// numero decimale con la virgola per aumentare la precisione o meglio
// la sensibilit�dell'antenna
float fValore = (float)rand() / (float)RAND_MAX;
// valore che pu�assumere un campione della distribuzione
float sim = rand()%maxdue ;
// ci aggiungo anche la parte decimale per avere maggiore precisione
float gauss = (sim)+fValore ;
// mi sposto sull'estremo inferiore della distribuzione centrata in angle
// cio�appunto angle meno triplosigma
float inferiore = (angle - (singolo));
// ho definito un intervallo centrato in Angle di ampiezza 3sigma
// all interno del quale e' contenuto "estrazione"
float estrazione = inferiore + gauss;
//effettuo la conversione in radianti
double conversionerad = (estrazione/57.325);
//return estrazione;
cout << "All'estrazione di " << endl;
cout << estrazione << endl;
cout << "Gradi dell'Angolo percepito corrispondono" << endl;
cout << conversionerad << endl;
cout << "radianti" << endl;
cout << i << endl;
}
cout << "INIZIO SECONDA SEZIONE VETTORE" << endl;
for (int i = 69; i <= 81; i++) {
// numero decimale con la virgola per aumentare la precisione o meglio
// la sensibilit�dell'antenna
float fValore = (float)rand() / (float)RAND_MAX;
// valore che pu�assumere un campione della distribuzione
float sim = rand()%maxuno ;
// ci aggiungo anche la parte decimale per avere maggiore precisione
float gauss = (sim)+fValore ;
// mi sposto sull'estremo inferiore della distribuzione centrata in angle
// cio�appunto angle meno triplosigma
float inferiore = (angle - (doppio));
// ho definito un intervallo centrato in Angle di ampiezza 3sigma
// all interno del quale e' contenuto "estrazione"
float estrazione = inferiore + gauss;
//effettuo la conversione in radianti
double conversionerad = (estrazione/57.325);
//return estrazione;
cout << "All'estrazione di " << endl;
cout << estrazione << endl;
cout << "Gradi dell'Angolo percepito corrispondono" << endl;
cout << conversionerad << endl;
cout << "radianti" << endl;
cout << i << endl;
}
cout << "INIZIO TERZA SEZIONE VETTORE" << endl;
for (int i = 82; i <= 95; i++) {
// numero decimale con la virgola per aumentare la precisione o meglio
// la sensibilit�dell'antenna
float fValore = (float)rand() / (float)RAND_MAX;
// valore che pu�assumere un campione della distribuzione
float sim = rand()%maxuno ;
// ci aggiungo anche la parte decimale per avere maggiore precisione
float gauss = (sim)+fValore ;
// mi sposto sull'estremo inferiore della distribuzione centrata in angle
// cio�appunto angle meno triplosigma
float inferiore = (angle + (singolo));
// ho definito un intervallo centrato in Angle di ampiezza 3sigma
// all interno del quale e' contenuto "estrazione"
float estrazione = inferiore + gauss;
//effettuo la conversione in radianti
double conversionerad = (estrazione/57.325);
//return estrazione;
cout << "All'estrazione di " << endl;
cout << estrazione << endl;
cout << "Gradi dell'Angolo percepito corrispondono" << endl;
cout << conversionerad << endl;
cout << "radianti" << endl;
cout << i << endl;
}
cout << "INIZIO ULTIMA SEZIONE VETTORE" << endl;
for (int i = 96; i <= 100; i++) {
// numero decimale con la virgola per aumentare la precisione o meglio
// la sensibilità dell'antenna
float fValore = (float)rand() / (float)RAND_MAX;
// valore che pu�assumere un campione della distribuzione
float sim = rand()%maxuno ;
// ci aggiungo anche la parte decimale per avere maggiore precisione
float gauss = (sim)+fValore ;
// mi sposto sull'estremo inferiore della distribuzione centrata in angle
// cio�appunto angle meno triplosigma
float inferiore = (angle - (triplo));
// ho definito un intervallo centrato in Angle di ampiezza 3sigma
// all interno del quale e' contenuto "estrazione"
float estrazione = inferiore + gauss;
//effettuo la conversione in radianti
double conversionerad = (estrazione/57.325);
//return estrazione;
cout << "All'estrazione di " << endl;
cout << estrazione << endl;
cout << "Gradi dell'Angolo percepito corrispondono" << endl;
cout << conversionerad << endl;
cout << "radianti" << endl;
cout << i << endl;
}

cout << "Press ENTER to continue..." << endl;
cin.get();
return 0;
}


Grazie a tutti in anticipo!!
AYAMY è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2007, 23:21   #2
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
L'indentazione dov'è ? Così ci si capisce poco... Usa il tag code del forum...

Spigati cosa intendi per "salvare"...

Vuoi mettere i vari numeri in un vettore ?

double vett[100];

Nei vari for memorizzi i numeri nel vettore tramite l'indice...vett[i-1]
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2007, 23:30   #3
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2788
Codice:
#include <iostream>
#include <time.h>
#include <stdlib.h>

using namespace std;

typedef struct{
    float degree;
    double rad;
    }angolo;

int main(){
double angle = 180;
// concetto di misura: la misura �data dal valor vero +- una certa incertezza
// data appunto dallo strumento di misurazione 
// un buon strumento di misura , come assumiamo che sia la nostra antenna
// ha una precisione dell'ordine del 5% della grandezza misurata che �
// appunto il valore dell'angolo.
// Assumo che l'incertezza abbia un valore pari a 3sigma sfruttando cos�la propriet�
// della distribuzione di Gauss che mi garantisce una probabilit�pari al 99.7% 
// di estrarre all'interno del nostro campione la Media della distribuzione
// della popolazione Madre 
//IMPLEMENTAZIONE
// scelgo 3sigma = all'incertezza cio�appunto a 5% del valore dell'angolo 
float triplo = (0.05*angle);
float singolo = (triplo/3);
float doppio = (singolo*2);
// impongo il valore di 3sigma= alla precisione dell'antenna * angolo non affetto
// da errore (cio�* la Media della distribuzione di Gauss)
int maxuno = ((((int)singolo)));
int maxdue = ((((int)doppio)));
int maxtre = ((((int)triplo)));
srand(time(0)); // inizializzo il seme per il calcolo dei numeri random

angolo angoli[100];

for (int i = 1; i <= 68; i++) {
    // numero decimale con la virgola per aumentare la precisione o meglio
    // la sensibilit�dell'antenna 
    float fValore = (float)rand() / (float)RAND_MAX;
    // valore che pu�assumere un campione della distribuzione 
    float sim = rand()%maxdue ;
    // ci aggiungo anche la parte decimale per avere maggiore precisione
    float gauss = (sim)+fValore ;
    // mi sposto sull'estremo inferiore della distribuzione centrata in angle
    // cio�appunto angle meno triplosigma
    float inferiore = (angle - (singolo));
    // ho definito un intervallo centrato in Angle di ampiezza 3sigma 
    // all interno del quale e' contenuto "estrazione"
    float estrazione = inferiore + gauss;
    //effettuo la conversione in radianti
    double conversionerad = (estrazione/57.325);
    angoli[i-1].degree=estrazione;
    angoli[i-1].rad =conversionerad;
    }
    
for (int i = 69; i <= 81; i++) {
    // numero decimale con la virgola per aumentare la precisione o meglio
    // la sensibilit�dell'antenna 
    float fValore = (float)rand() / (float)RAND_MAX;
    // valore che pu�assumere un campione della distribuzione 
    float sim = rand()%maxuno ;
    // ci aggiungo anche la parte decimale per avere maggiore precisione
    float gauss = (sim)+fValore ;
    // mi sposto sull'estremo inferiore della distribuzione centrata in angle
    // cio�appunto angle meno triplosigma
    float inferiore = (angle - (doppio));
    // ho definito un intervallo centrato in Angle di ampiezza 3sigma 
    // all interno del quale e' contenuto "estrazione"
    float estrazione = inferiore + gauss;
    //effettuo la conversione in radianti
    double conversionerad = (estrazione/57.325);
    angoli[i-1].degree=estrazione;
    angoli[i-1].rad=conversionerad;
    }
    
for (int i = 82; i <= 95; i++) {
    // numero decimale con la virgola per aumentare la precisione o meglio
    // la sensibilit�dell'antenna 
    float fValore = (float)rand() / (float)RAND_MAX;
    // valore che pu�assumere un campione della distribuzione 
    float sim = rand()%maxuno ;
    // ci aggiungo anche la parte decimale per avere maggiore precisione
    float gauss = (sim)+fValore ;
    // mi sposto sull'estremo inferiore della distribuzione centrata in angle
    // cio�appunto angle meno triplosigma
    float inferiore = (angle + (singolo));
    // ho definito un intervallo centrato in Angle di ampiezza 3sigma 
    // all interno del quale e' contenuto "estrazione"
    float estrazione = inferiore + gauss;
    //effettuo la conversione in radianti
    double conversionerad = (estrazione/57.325);
    angoli[i-1].degree=estrazione;
    angoli[i-1].rad=conversionerad;
    }

for (int i = 96; i <= 100; i++) {
    // numero decimale con la virgola per aumentare la precisione o meglio
    // la sensibilità dell'antenna 
    float fValore = (float)rand() / (float)RAND_MAX;
    // valore che pu�assumere un campione della distribuzione 
    float sim = rand()%maxuno ;
    // ci aggiungo anche la parte decimale per avere maggiore precisione
    float gauss = (sim)+fValore ;
    // mi sposto sull'estremo inferiore della distribuzione centrata in angle
    // cio�appunto angle meno triplosigma
    float inferiore = (angle - (triplo));
    // ho definito un intervallo centrato in Angle di ampiezza 3sigma 
    // all interno del quale e' contenuto "estrazione"
    float estrazione = inferiore + gauss;
    //effettuo la conversione in radianti
    double conversionerad = (estrazione/57.325);    
    angoli[i-1].degree=estrazione;
    angoli[i-1].rad=conversionerad;
    }

//return estrazione;
int i=rand()%100;
cout << "All'estrazione di " << endl;
cout << angoli[i].degree << endl;
cout << "Gradi dell'Angolo percepito corrispondono" << endl;
cout << angoli[i].rad << endl;
cout << "radianti" << endl;
cout << i << endl;
    
cout << "Press ENTER to continue..." << endl; 
cin.get();
return 0;
}
Te l'ho scritto con un array di strutture, così vedi anche una cosa in più...
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2007, 23:34   #4
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
Nota che tutto questo codice può essere messo in una funzione con max e l'angolo come parametri:

// numero decimale con la virgola per aumentare la precisione o meglio
// la sensibilit�dell'antenna
float fValore = (float)rand() / (float)RAND_MAX;
// valore che pu�assumere un campione della distribuzione
float sim = rand()%maxuno ;
// ci aggiungo anche la parte decimale per avere maggiore precisione
float gauss = (sim)+fValore ;
// mi sposto sull'estremo inferiore della distribuzione centrata in angle
// cio�appunto angle meno triplosigma
float inferiore = (angle + (singolo));
// ho definito un intervallo centrato in Angle di ampiezza 3sigma
// all interno del quale e' contenuto "estrazione"
float estrazione = inferiore + gauss;
//effettuo la conversione in radianti
double conversionerad = (estrazione/57.325);
angoli[i-1].degree=estrazione;
angoli[i-1].rad=conversionerad;
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 08:48   #5
AYAMY
Senior Member
 
L'Avatar di AYAMY
 
Iscritto dal: Dec 2003
Messaggi: 704
grazie x l'info.. ma poi in notturna , vedendo qualche esempio non c'ho messo molto a risolvere il problema del salvataggio:
ho aggiunto
float numGenerati[100]; (ma mi sa che dovrei mettere double...poi vedo)
e per ogni ciclo ho fatto appunto....
numGenerati[i]=estrazione;

Mi pare che vada bene...Secondo voi? ho fatto qualche errore di cui non mi sono reso conto?
Grazie ancora!!

PS: una cosa non ho capito...
Codice:
angoli[i-1].degree=estrazione;
angoli[i-1].rad=conversionerad;
in sostanza cosa significano?
AYAMY è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 09:44   #6
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
Come ti dicevo puoi creare una funzione con il codice sopra...rendenderebbe il tutto molto + leggibile... Anche l'inserimento di qualche riga vuota, senza commenti, farebbe bene ogni tanto.

Devi fare numGenerati[i-1]=estrazione; perchè il tuo ciclo va da 1 a 100, mentre un vettore di 100 elementi va da 0 a 99. Metti pure double.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Il nuovo OnePlus Nord 6 con batteria da ...
iPhone 18 Pro, il Face ID sotto al displ...
Aumenti in arrivo per ASUS: i computer p...
L'esperimento BASE del CERN è riu...
Afeela è morta: chiusa definitiva...
Intel BOT altera i risultati, Geekbench ...
Intel e AMD faticano a soddisfare la dom...
Microsoft e NVIDIA insieme per dare una ...
Ring rinnova l'intera gamma video: 4K su...
Recensione Galaxy Buds4 Pro: le cuffie S...
Spotify si arricchisce ancora: arriva So...
I digital twin di AVEVA a supporto delle...
Iliad non si ferma: clienti in crescita ...
XuanTie C950, il chip IA di Alibaba basa...
Volkswagen richiama 94.000 auto elettric...
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: 08:56.


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