Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-02-2007, 15:08   #1
AYAMY
Senior Member
 
L'Avatar di AYAMY
 
Iscritto dal: Dec 2003
Messaggi: 704
[c++] Sempre + difficile...

Ciao a tutti... innanzitutto vi ringrazio per l'aiuto che ho trovato in questo forum....
Vengo subito al dunque...
Ho un programma che funziona nel seguente modo:
Parte A) crea un serie di valori
Parte B) Vede quante volte quel numero di valori deve ripetuto in un determinato vettore da cui fare delle estrazioni

Adesso Vorrei creare un vettore finale in cui introdurre tutte le varie ripetizioni dei valori creati....

Come posso fare?
Il problema è che non riesco a sommare tutte le ripetizioni per vedere quanto deve essere grande il vettore finale...
Cioè ad esempio nella fase A) ho visto che ho questi valori 88-90-92 ecc
Nella fase B) ad esempio ho visto che 88 deve starci 3 volte , 90 invece 5 volte e 92 di nuovo 3

Adesso dovrei creami un vettore fatto in questo modo
88 88 88 90 90 90 90 90 92 92 92

Ma come dovrei fare?

Questo è il mio codice
Per ora sono riuscito a fare soltato la scrittura a video dei valori... come potrei fare per risolvere il problema?

Grazie


Codice:
#include <iostream>
#include <math.h>
using namespace std;

int main (){
//PARTE A
int valori;
float passo;
float angle;
float minimo;
float massimo;
float triplo; 
float singolo; 
float frequenzarelativa;
float alla;
int z;
int j;
z=0;
cout << "Inserire il valore dell angolo" << endl;
cin >> angle;
triplo = (0.1*angle);
singolo= (triplo/3);
cout << "Inserire il numero di valori in 3 sigma" << endl;
cin >> valori ;
passo = (triplo)/valori;
minimo = angle-triplo;
massimo = angle+triplo;
float vettorex[2*valori+1];
for (int i = 1; i <= 2*valori+1 ; i++) 
{
 vettorex[i]=minimo+(z*passo);
 z++;   
 //cout << vettorex[i] << endl;
//FINE PARTE A
//INIZIO PARTE B
alla= -(((vettorex[i]-angle)*(vettorex[i]-angle))/(2*singolo*singolo )); 
frequenzarelativa =(1/(singolo*(sqrt(2*3.14159))))*(exp(alla));
float frequenzaassoluta=frequenzarelativa*angle;
int ripetizioni= (int)frequenzaassoluta + 1;
float vettorey[ripetizioni];
 for (int j=1; j <=ripetizioni; j++)
 {
  vettorey[j]=vettorex[i];
 }   
//cout << "frequenza Relativa" << endl;
//cout << frequenzarelativa << endl;
//cout << "frequenza Assoluta" << endl;
//cout << frequenzaassoluta << endl;
//cout << "Ripetizioni" << endl ;
//cout <<  ripetizioni << endl ;
//cout << "           " << endl;
//cout << "VETTORE TOTALE" << endl;
// STAMPA DEI VALORI CHE DOVREI ANDARE A METTERE NEL VETTORE FINALE
for (int j=1; j <=ripetizioni; j++)
 {
  cout << vettorey[j] << endl;
 }  
 }


cout << "3sigma" << endl;
cout <<  triplo << endl;
cout << "ecco il passo" << endl;
cout << passo << endl;
cin.get();
cin.get();
cin.get();

}
AYAMY è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 16:14   #2
AYAMY
Senior Member
 
L'Avatar di AYAMY
 
Iscritto dal: Dec 2003
Messaggi: 704
... io avevo pensato di risolvere il problema nel seguente modo...
Mi creò un vettorefinale con un numero di celle largamente maggiore di quello a cui il programma potrebbe arrivare con le varie ripetizioni dei singoli numeri
poi con questo ciclo for con dentro 2 if andavo a creare il vettore finale

Codice:
 
for (int j=1; j <=ripetizioni; j++)
 {
  if (j==k){     
  vettorey[j]=vettorex[i];
  vettorefinale[j]=vettorey[j];
  }
  else {     
  vettorey[j]=vettorex[i];
  vettorefinale[k]=vettorey[j];
  }
  }
questo if mi serve per fare in modo che durante la prima iterazione (cioè appunto quando k = j) alle celle del vettorefinale corrispondano quelle del vettore delle ripetizioni del singolo numero.
Poi invece quando il vettore delle ripetizioni del singolo numero veniva lasciato perchè si arrivava al numero massimo delle ripetizioni e quindi j tornava ad 1 nella successiva iterazioni invece K continuava ad essere incrementato i valori delle caselle del nuovo vettore delle iterazioni veniva messe nel vettore finale in posizione k e non , invece , nella prima posizione del vettore..

MA NON SO PERCHE' il programma mi si avvia ma poi dopo aver richiesto i valori mi da errore di SISTEMA !?!?!?

Please datemi una mano!!!

Questo è il codice Totale

Codice:
#include <iostream>
#include <math.h>
using namespace std;

int main (){
int valori;
float passo;
float angle;
float minimo;
float massimo;
float triplo; 
float singolo; 
float frequenzarelativa;
float alla;
int z;
int j;
int k;
z=0;
float vettorefinale[1000];
cout << "Inserire il valore dell angolo" << endl;
cin >> angle;
triplo = (0.1*angle);
singolo= (triplo/3);
cout << "Inserire il numero di valori in 3 sigma" << endl;
cin >> valori ;
passo = (triplo)/valori;
minimo = angle-triplo;
massimo = angle+triplo;
float vettorex[2*valori+1];
for (int i = 1; i <= 2*valori+1 ; i++) 
{
 vettorex[i]=minimo+(z*passo);
 z++;   
 //cout << vettorex[i] << endl;
alla= -(((vettorex[i]-angle)*(vettorex[i]-angle))/(2*singolo*singolo )); 
frequenzarelativa =(1/(singolo*(sqrt(2*3.14159))))*(exp(alla));
float frequenzaassoluta=frequenzarelativa*angle;
int ripetizioni= (int)frequenzaassoluta + 1;
float vettorey[ripetizioni];
 for (int j=1; j <=ripetizioni; j++)
 {
  if (j==k){     
  vettorey[j]=vettorex[i];
  vettorefinale[j]=vettorey[j];
  }
  else {     
  vettorey[j]=vettorex[i];
  vettorefinale[k]=vettorey[j];
  }
  }   
//cout << "frequenza Relativa" << endl;
//cout << frequenzarelativa << endl;
//cout << "frequenza Assoluta" << endl;
//cout << frequenzaassoluta << endl;
//cout << "Ripetizioni" << endl ;
//cout <<  ripetizioni << endl ;
//cout << "           " << endl;
//cout << "VETTORE TOTALE" << endl;
// CONTEGGIO DELLA DIMENSIONE MASSIMA DEL VETTORE FINALE
/*for (int j=1; j <=ripetizioni; j++)
 {
  k++;       
  cout << vettorey[j] << endl;
 }  
 }
 */
// FINE CONTEGGIO ....POI C'E' IL RELATIVO COUT

 //CONTEGGIO DIMENSIONE VETTORE 
/*cout << k << endl;
float vettorefinale[k];
for (int d=1; d <=k; d++)
  {
     vettorefinale[d]=vettorey[j];
  }
         
*/
cout << "3sigma" << endl;
cout <<  triplo << endl;
cout << "ecco il passo" << endl;
cout << passo << endl;
cin.get();
cin.get();
cin.get();
}
}








/*
POSSIBILE IMPLEMENTAZIONE VETTORE FINALE 
for (int j=1; j <=ripetizioni; j++)
 {       
  if (j = k)
  {     
  vettorefinale[j]=vettorey[j];
  }
  else
  {     
  vettorefinale[k]=vettorey[j];
  }   
 k++;
 } 
 } 
/* CONTEGGIO DIMENSIONE VETTORE --> nb il K++ va dentro il ciclo for e non fuori 
cout << k << endl;
float vettorefinale[k];
for (int d=1; d <=k; d++)
  {
     vettorefinale[d]=vettorey[j];
  }
*/         
/*



  int j;
  int vettore[j];
  cin >> j ;
  for (int i=1; i<=j; i++){
      vettore[i]=1+i;
  cout << vettore[i] << endl;
      }  
  cin.get();
  cin.get();
  return 0;
}
*/
AYAMY è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 16:24   #3
Dragonx21
Senior Member
 
L'Avatar di Dragonx21
 
Iscritto dal: Jun 2003
Città: Como
Messaggi: 5377
int main (){
int valori;
...
float vettorex[2*valori+1];

sicuro che si possa fare questa istruzione??
__________________
E8600@ 6562 Spi1Mb 6,875s
6" Club Tom's Hardware OC Team - HoF Vantage.
Dragonx21 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 16:26   #4
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
attento, i vettori partono a contare dallo 0, non da 1
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 16:27   #5
AYAMY
Senior Member
 
L'Avatar di AYAMY
 
Iscritto dal: Dec 2003
Messaggi: 704
bhè penso di si.. il software fino ad adesso ha sempre funzionato...e i dati in uscita erano corretti.. quindi quella istruzione la prendeva di sicuro...
AYAMY è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 16:29   #6
Dragonx21
Senior Member
 
L'Avatar di Dragonx21
 
Iscritto dal: Jun 2003
Città: Como
Messaggi: 5377
Quote:
Originariamente inviato da AYAMY Guarda i messaggi
bhè penso di si.. il software fino ad adesso ha sempre funzionato...e i dati in uscita erano corretti.. quindi quella istruzione la prendeva di sicuro...
il problema è nei for

devi partire da 0 e andare fino a < VALORE FINALE e non <=

ps: da quando si possono usare vettori dinamici???? pps.. minchia sono rimasto troppo al c
__________________
E8600@ 6562 Spi1Mb 6,875s
6" Club Tom's Hardware OC Team - HoF Vantage.

Ultima modifica di Dragonx21 : 25-02-2007 alle 16:33.
Dragonx21 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 16:36   #7
AYAMY
Senior Member
 
L'Avatar di AYAMY
 
Iscritto dal: Dec 2003
Messaggi: 704
Quote:
attento, i vettori partono a contare dallo 0, non da 1
giusto.. sto programmando da questa mattina presto e adesso STO COTTO e mi sfuggono anche le basi..

Quote:
il problema è nei for

devi partire da 0 e andare fino a < VALORE FINALE e non <=
ma cosa risolverei? se prima il programma funzionava e adesso che sto cercando di aggiungere il VETTOREFINALE non va + il problema penso che debba stare solo qui..

Codice:
for (int j=1; j <=ripetizioni; j++)
 {
  if (j==k){     
  vettorey[j]=vettorex[i];
  vettorefinale[j]=vettorey[j];
  }
  else {     
  vettorey[j]=vettorex[i];
  vettorefinale[k]=vettorey[j];
  }
  }
oppure ti riferisci ai for di questa parte di codice?
AYAMY è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 16:45   #8
Dragonx21
Senior Member
 
L'Avatar di Dragonx21
 
Iscritto dal: Jun 2003
Città: Como
Messaggi: 5377
Quote:
Originariamente inviato da AYAMY Guarda i messaggi
giusto.. sto programmando da questa mattina presto e adesso STO COTTO e mi sfuggono anche le basi..



ma cosa risolverei? se prima il programma funzionava e adesso che sto cercando di aggiungere il VETTOREFINALE non va + il problema penso che debba stare solo qui..

Codice:
for (int j=1; j <=ripetizioni; j++)
 {
  if (j==k){     
  vettorey[j]=vettorex[i];
  vettorefinale[j]=vettorey[j];
  }
  else {     
  vettorey[j]=vettorex[i];
  vettorefinale[k]=vettorey[j];
  }
  }
oppure ti riferisci ai for di questa parte di codice?
il problema è K
__________________
E8600@ 6562 Spi1Mb 6,875s
6" Club Tom's Hardware OC Team - HoF Vantage.
Dragonx21 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 18:16   #9
adrail
Bannato
 
Iscritto dal: Feb 2007
Messaggi: 15
Io dico che il C++ è troppo sofisticato, e questo porta a produrre poco, almeno chè non si conduca un progetto condiviso e ben organizzato, quindi ti conviene cambiare linguaggio, sto c++ è troppo scottante..
adrail è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 20:44   #10
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da adrail Guarda i messaggi
Io dico che il C++ è troppo sofisticato, e questo porta a produrre poco, almeno chè non si conduca un progetto condiviso e ben organizzato, quindi ti conviene cambiare linguaggio, sto c++ è troppo scottante..
Scusa ma cosa vedi di così sofisticato nel codice che è stato postato?
Quel codice lo puoi tradurre letteralmente in Java o C# e non funzionerebbe lo stesso, quindi anche Java e C# sono troppo sofisticati?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2007, 14:39   #11
AYAMY
Senior Member
 
L'Avatar di AYAMY
 
Iscritto dal: Dec 2003
Messaggi: 704
cosa non va in K?
devo farlo partire da 0?
AYAMY è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2007, 15:05   #12
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
Tutti gli indici dei vettori devono partire da 0...
Se vuoi scorrere gli elementi di un vettore tramite un for, supponendo che il vettore abbia dimensione N elementi, si fa così:

for(int i = 0; i < N; i++)
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2007, 15:35   #13
AYAMY
Senior Member
 
L'Avatar di AYAMY
 
Iscritto dal: Dec 2003
Messaggi: 704
ragà... finalmente ho risolto...ma non lo grido troppo forte..perchè ho paura che da un momento all'altro l'errore possa saltare fuori...

Codice:
for (int j=1; j <=ripetizioni; j++)
 {
  k++;       
  //cout << vettorey[j] << endl;
  vettorez[k]=vettorey[j];
 }  
 }
cout << "---Numero di Valori del Vettore Finale---" << endl;  
cout << k << endl;
cout << "---Ecco il Vettore Finale---" << endl;
for (int s=1; s <=k; s++)
    {
    cout << vettorez[s] << endl;
    }
così mi creo un vettorino che mi serve per generera le singole ripetizioni dei valori e poi questi valori appena generati me li mette nel vettore vettorez[k] da cui poi vado ad estrarre un valore...
Ciao e grazie a tutti.. siete stati come sempre il TOP!!!
AYAMY è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
CAS Space ha lanciato per la prima volta...
Qualcomm boccia Samsung: i futuri chip S...
Il razzo spaziale cinese Tianlong-3 di S...
Samsung cambia i piani: aumenta la produ...
TSMC non si ferma più: fatturato ...
Xiaomi porta in Italia il nuovo Redmi A7...
Mercato smartphone: Q1 2026 positivo (+1...
YouTube punta sull'AI: gli utenti potran...
Il prossimo chip a 2 nm di Samsung punte...
Due smartphone REDMAGIC sono stati rimos...
La beta della One UI 8.5 è ora di...
Addio al Pannello di Controllo di Window...
Il chip N1 di NVIDIA per i laptop del fu...
YouTube Premium costerà di pi&ugr...
I nuovi Samsung Galaxy A57 5G e A37 5G a...
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: 01:11.


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