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 05-06-2011, 08:53   #1
Informatico Specializzato
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 17
Programma in c++

Buongiorno a tutti voi,sono nuovo del forum .Innanzitutto vi faccio i complimenti per come è strutturato il forum .Allora,sono alle prese con un programma in c++,che ho svolto interamente.Tuttavia,il programma da me compilato non soddisfa in modo completo la traccia.Vi posto la traccia e il programma da me svolto.
Codice:
//Siano assegnati in ingresso, da tastiera, due vettori di interi V1 e
//V2 di uguale riempimento n.
//Si progetti un programma che riceva in ingresso V1 , V2, n ed un intero k e
//inserisca in un terzo vettore V3 la
//somma di quegli elementi di V1 e di V2 di omologa posizione che sono
//entrambi dispari.Quindi si individui la posizione P del primo elemento di V3 il cui
//valore sia maggiore di k.
//Si stampino, infine, il
//vettore V3 il suo riempimento (n3) ed il valore di P.

#include <iostream>
#include <stdlib.h>

using namespace std;

const int MAX_ELEM=100;
const int MAX_LUN=100;
typedef char stringa[MAX_LUN+1];

void input_array(int V[],int n,stringa nome_array);
void input(int V1[],int V2[],int &n);
void input_k(int &k);
bool copia(int V1[],int V2[],int V3[],int n,int &n3);
bool ricerca(int V3[],int n3,int k,int &val,int &pos);
void output(int V1[],int V2[],int V3[],int &n,int &n3,int k,int val,int pos);
void restart(char &risp);

int main()
{
    char risp;
    do{
        int V1[MAX_ELEM];
        int V2[MAX_ELEM];
        int V3[MAX_ELEM];
        int n;
        int n3;
        int k;
        int val;
        int pos;
        
        input(V1,V2,n);
        input_k(k);
        ricerca(V3,n3,k,val,pos);
        output(V1,V2,V3,n,n3,k,val,pos);
        restart(risp);
     }while ((risp=='s') || (risp=='S'));
    
        system("PAUSE");
        return 0;
}

void input_array(int V[],int n,stringa nome_array){
    int i;
    do{
    if(n<0){
        cout<<"Non puo'essere inserito un riempimento negativo"<<endl;}
    if(n>MAX_ELEM){
        cout<<"Non puo'essere inserito un riempimento maggiore di"<<" "<<MAX_ELEM<<endl;}
    }while((n<0) || (n>MAX_ELEM));
    
     for(i=0; i<n; i++){
         cout<<"Inserire"<<" "<<nome_array<<"["<<i<<"]=";
         cin>>V[i];
     }
     cout<<endl;
}

void input(int V1[],int V2[],int &n){
    cout<<"Inserire il riempimento dei vettori"<<":";
    cin>>n;
    cout<<endl;
    
    input_array(V1,n,"V1");
    input_array(V2,n,"V2");
}

void input_k(int &k){
    cout<<"Inserire il valore di k"<<":";
    cin>>k;
    cout<<endl;
}

bool copia(int V1[],int V2[],int V3[],int n,int &n3){
     bool trovato=false;
     int i;
     int j;
     n3=0;
     for(i=0; i<n; i++){
     for(j=0; j<n; j++){    
     if((V1[i]==V2[i]) && (V1[i]%2!=0) && (V2[j]%2!=0)){
     V3[n3++]=V1[i]+V2[i];
     }
     }
     }    
     if(n3!=0)
     trovato=true;
     return trovato;
}

bool ricerca(int V3[],int n3,int k,int &val,int &pos){
    int i=0;
    bool trovato=false;
    while((i<n3) && (!trovato))
    if(V3[i]>k){
        trovato=true;
        val=V3[i];
        pos=i;
    }
    else{
        i++;}
    return trovato;
}

void output(int V1[],int V2[],int V3[],int &n,int &n3,int k,int val,int pos){
    int i;
    if(copia(V1,V2,V3,n,n3)==true){
        cout<<"Il nuovo vettore e'"<<":";
        for(i=0; i<n3; i++){
            cout<<V3[i]<<" ";
        }
        cout<<endl;
        cout<<"Valore"<<":"<<pos<<endl;
      }
      else
      cout<<"Il vettore risulta vuoto"<<endl;
}                        
 
void restart (char &risp){
    do{
        cout<<"Vuoi ripetere il programma? (s/n)"<<":";
        cin>>risp;
    }while((risp!='s') && (risp!='S') && (risp!='n') && (risp!='N'));
}
Informatico Specializzato è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 08:57   #2
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Dicci che problema hai
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 09:01   #3
Informatico Specializzato
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 17
Ciao,praticamente quando compilo non mi da errori,tuttavia accade questo:se ho ad esempio messo due array di riempimento 5:
V1=1,3,5,6,6
V2=1,3,5,6,6
k=7
Il nuovo vettore dovrebbe essere:
V3=2,6,10
Valore=10
Invece a me esce V3=2,2,2,6,6,6,10,10,10
Cioè ho delle ripetizioni,mentre per quanto riguarda il valore ho sempre valore 0.Grazie ancora
Informatico Specializzato è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 10:32   #4
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da Informatico Specializzato Guarda i messaggi
Ciao,praticamente quando compilo non mi da errori,tuttavia accade questo:se ho ad esempio messo due array di riempimento 5:
V1=1,3,5,6,6
V2=1,3,5,6,6
k=7
Il nuovo vettore dovrebbe essere:
V3=2,6,10
Valore=10
Invece a me esce V3=2,2,2,6,6,6,10,10,10
Cioè ho delle ripetizioni,mentre per quanto riguarda il valore ho sempre valore 0.Grazie ancora
sicuramente un problema lo hai qui:

Codice:
if((V1[i]==V2[i]) && (V1[i]%2!=0) && (V2[j]%2!=0))
immagino ceh quel V1[i] == V2[i] non abbia senso di esistere
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 10:41   #5
Informatico Specializzato
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 17
Io invece credo di si,perchè nella traccia parla di posizioni omologhe.
Informatico Specializzato è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 11:29   #6
krivo
Junior Member
 
Iscritto dal: Oct 2010
Messaggi: 16
Quote:
Siano assegnati in ingresso, da tastiera, due vettori di interi V1 e V2 di uguale riempimento n. Si progetti un programma che riceva in ingresso V1 ,V2 n ed un intero k e inserisca in un terzo vettore V3 la somma di quegli elementi di V1 e di V2 di omologa posizione che sono entrambi dispari.Quindi si individui la posizione P del primo elemento di V3 il cui valore sia maggiore di k.
Ha ragione tuccio, il problema ti chiede se entrambi gli elementi nella posizione i-esima siano entrambi dispari e non che siano dispari e uguali
krivo è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 11:48   #7
Informatico Specializzato
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 17
Quindi l'omologo è riferito alla posizione,e non al valore.
Informatico Specializzato è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 11:50   #8
Informatico Specializzato
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 17
Grazie mille a tutti !!! Ho risolto !
Informatico Specializzato è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 12:14   #9
Informatico Specializzato
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 17
Tuttavia nel caso in cui metta riempimenti grandi,il problema rimane :-/
Codice:
#include <iostream>
#include <stdlib.h>

using namespace std;

const int MAX_ELEM=100;
const int MAX_LUN=100;
typedef char stringa[MAX_LUN+1];

void input_array(int V[],int n,stringa nome_array);
void input(int V1[],int V2[],int &n);
void input_k(int &k);
bool copia(int V1[],int V2[],int V3[],int n,int &n3);
bool ricerca(int V3[],int n3,int k,int &P);
void output(int V1[],int V2[],int V3[],int &n,int &n3,int k,int P);
void restart(char &risp);

int main()
{
    char risp;
    do{
        int V1[MAX_ELEM];
        int V2[MAX_ELEM];
        int V3[MAX_ELEM];
        int n;
        int n3;
        int k;
        int P;
        
        input(V1,V2,n);
        input_k(k);
        output(V1,V2,V3,n,n3,k,P);
        restart(risp);
     }while ((risp=='s') || (risp=='S'));
    
        system("PAUSE");
        return 0;
}

void input_array(int V[],int n,stringa nome_array){
    int i;
    do{
    if(n<0){
        cout<<"Non puo'essere inserito un riempimento negativo"<<endl;}
    if(n>MAX_ELEM){
        cout<<"Non puo'essere inserito un riempimento maggiore di"<<" "<<MAX_ELEM<<endl;}
    }while((n<0) || (n>MAX_ELEM));
    
     for(i=0; i<n; i++){
         cout<<"Inserire"<<" "<<nome_array<<"["<<i<<"]=";
         cin>>V[i];
     }
     cout<<endl;
}

void input(int V1[],int V2[],int &n){
    cout<<"Inserire il riempimento dei vettori"<<":";
    cin>>n;
    cout<<endl;
    
    input_array(V1,n,"V1");
    input_array(V2,n,"V2");
}

void input_k(int &k){
    cout<<"Inserire il valore di k"<<":";
    cin>>k;
    cout<<endl;
}

bool copia(int V1[],int V2[],int V3[],int n,int &n3){
     bool trovato=false;
     int i;
     int j;
     n3=0;
     for(i=0; i<n; i++){
     for(j=0; j<n; j++){    
     if((V1[i]==V2[j]) && (V1[i]%2!=0) && (V2[j]%2!=0)){
     V3[n3++]=V1[i]+V2[i];
     }
     }
     }    
     if(n3>0)
     trovato=true;
     return trovato;
}

bool ricerca(int V3[],int n3,int k,int &P){
    int i=0;
    bool trovato=false;
    while((i<n3) && (!trovato))
    if(V3[i]>k){
        trovato=true;
        P=i;
    }
    else{
        i++;}
   return trovato;
}

void output(int V1[],int V2[],int V3[],int &n,int &n3,int k,int P){
    int i;
    if(copia(V1,V2,V3,n,n3)==true){
        cout<<"Il nuovo vettore e'"<<":";
        for(i=0; i<n3; i++){
            cout<<V3[i]<<" ";
        }
        cout<<endl;
        if(ricerca(V3,n3,k,P)==true){
        cout<<"Valore"<<":"<<P<<endl;}  
      }
      else
      cout<<"Il vettore risulta vuoto"<<endl;
}                        
 
void restart (char &risp){
    do{
        cout<<"Vuoi ripetere il programma? (s/n)"<<":";
        cin>>risp;
    }while((risp!='s') && (risp!='S') && (risp!='n') && (risp!='N'));
}
Informatico Specializzato è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 14:01   #10
tycoon
Member
 
L'Avatar di tycoon
 
Iscritto dal: Nov 2006
Messaggi: 188
_

Ultima modifica di tycoon : 05-06-2011 alle 18:08.
tycoon è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 15:24   #11
Informatico Specializzato
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 17
Ti ringrazio molto,ma credo che ci sia ancora lo stesso problema,ti spiego:se ad esempio metto:
V1=3,2,1,5,4,3
V2=2,1,5,6,7,8
k=5
mi esce:
V3=6,11
quando dovrebbe uscirmi V3=6
Non sei d'accordo?
Informatico Specializzato è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 18:01   #12
tycoon
Member
 
L'Avatar di tycoon
 
Iscritto dal: Nov 2006
Messaggi: 188
ha ragione tuccio ^2

Quote:



#include <iostream>
#include <stdlib.h>

using namespace std;

const int MAX_ELEM=100;
const int MAX_LUN=100;
typedef char stringa[MAX_LUN+1];



void input_array(int V[],int n,stringa nome_array);
void input(int V1[],int V2[],int &n);
void input_k(int &k);
bool copia(int V1[],int V2[],int V3[],int n,int &n3);
bool ricerca(int V3[],int n3,int k,int &P);
void output(int V1[],int V2[],int V3[],int &n,int &n3,int k,int P);
void restart(char &risp);

int main()
{
char risp;
do{
int V1[MAX_ELEM];
int V2[MAX_ELEM];
int V3[MAX_ELEM];
int n;
int n3;
int k;
int P;
// int P;

input(V1,V2,n);
input_k(k);
output(V1,V2,V3,n,n3,k,P);
restart(risp);
}while ((risp=='s') || (risp=='S'));

system("PAUSE");
return 0;
}


void input(int V1[],int V2[],int &n){
cout<<"Inserire riempimento dei vettori"<<":";
cin>>n;
cout<<endl;

input_array(V1,n,"V1");
input_array(V2,n,"V2");
}


void input_array(int V[],int n,stringa nome_array){
int i;
do{
if(n<0){
cout<<"Non puo'essere inserito un riempimento negativo"<<endl;}
if(n>MAX_ELEM){
cout<<"Non puo'essere inserito un riempimento maggiore di"<<" "<<MAX_ELEM<<endl;}
}while((n<0) || (n>MAX_ELEM));

for(i=0; i<n; i++){
cout<<"Inserire"<<" "<<nome_array<<"["<<i<<"]=";
cin>>V[i];
}
cout<<endl;
}



void input_k(int &k){
cout<<"Inserire il valore di k"<<":";
cin>>k;
cout<<endl;
}

bool copia(int V1[],int V2[],int V3[],int n,int &n3){
bool trovato=false;
int i;
// int j;
n3=0;
for(i=0; i<n; i++){
if( (V1[i]%2!=0) && (V2[i]%2!=0)){
V3[n3++]=V1[i]+V2[i];
}
}
if(n3>0)
trovato=true;
return trovato;
}

bool ricerca(int V3[],int n3,int k,int &P){
int i=0;
bool trovato=false;
while((i<n3) && (!trovato))
if(V3[i]>k){
trovato=true;
P=i+1;
}
else{
i++;}
return trovato;
}

void output(int V1[],int V2[],int V3[],int &n,int &n3,int k,int P){
int i;
if(copia(V1,V2,V3,n,n3)==true){
cout<<"Il nuovo vettore e'"<<":";
for(i=0; i<n3; i++){
cout<<V3[i]<<" ";
}
cout<<endl;
if(ricerca(V3,n3,k,P)==true){
cout<<"posizione P del primo elemento di V3 il cui valore sia maggiore di k "<<":"<<P<<endl;}
}
else
cout<<"Il vettore risulta vuoto"<<endl;
}

void restart (char &risp){
do{
cout<<"Vuoi ripetere il programma? (s/n)"<<":";
cin>>risp;
}while((risp!='s') && (risp!='S') && (risp!='n') && (risp!='N'));
}

Ultima modifica di tycoon : 05-06-2011 alle 18:07.
tycoon è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 18:31   #13
Informatico Specializzato
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 17
Ora ho capito!! Vedendo i passaggi mi sono passati i dubbi !!! Grazie mille a chi mi ha dato una mano !!!
Informatico Specializzato è 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...
Unitree H1: il robot umanoide vicino al ...
GPU esterne: PCI-SIG porta le prestazion...
Per Lenovo i giocatori sono ricchi: Legi...
Polaroid lancia la nuova stampante Hi-Pr...
Da Kyndryl un gemello digitale per il di...
La Cina si prepara a una nuova missione ...
Climatizzatore Inverter A++ con Wi-Fi a ...
NZXT Flex, lo 'scandalo' del PC gaming a...
Robot lavavetri in offerta su Amazon: EC...
Attenti a questo update fake di Windows ...
NIO chiede la standardizzazione di batte...
Da 80 mesi-uomo a poche ore: l'AI cambia...
In 2 settimane senza social il cervello ...
Amazon top 7 di oggi: 2 portatili intere...
SteamGPT trapela dal client Steam: ecco ...
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: 19:21.


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