Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-12-2008, 14:10   #1
-andrea-
Senior Member
 
L'Avatar di -andrea-
 
Iscritto dal: Jan 2006
Città: Afragola(NA)
Messaggi: 3336
[c++] cosa ho sbagliato?

Ho il seguente programma da creare in dev c++:



/* Si implementi in C++ un programma che letto da file testo SORGENTE.txt una
sequenza di numeri interi (supposta al massimo pari a 200 numeri interi),
produca il vettore vetPari di riempimento riempPari contenenti numeri pari della
sequenza ed il vettore vetDispari di riempimento riempDispari contenente i
numeri dispari.Il programma inoltre, dopo aver calcolato il massimo di vetPari
e vetDispari, stampi a video il vettore avente massimo maggiore. Il programma
usi le seguenti funzioni, definite nel file "vettori.h" ed implementate nel file
-"vettori.cpp":#define N 200 typedef int vettore[N];
-void costruisciVettori(vettore vpari, int &nPari, vettore vdispari,int &ndispari);
// legge da file SORGENTE.TXT un numero per volta e lo inserisce in vpari se
è pari, altrimenti in vdispari
-int massimo(vettore v, int riemp); // restituisce il massimo del vettore v;
-void stampa(vettore v, int riemp); // stampa a video il vettore v;*/


nel momento in cui inserisco come valore massimo un numero pari tutto funziona alla grande.
Se inserisco invece come valore massimo un dispari mi restituisce sempre il vettore pari perchè considera come valore massimo il valore maggiore tra i pari...Ho provato quindi a inserire nel sorgente solo numeri dispari e ho notato che mi stampa un vettore vuoto...che sarebbe quello dei pari appunto...
Io penso che ci sia un errore nell costruzione nel vettore dispari, ma nn capisco dove ho sbagliato...
Aspetto vostri consigli a riguardo...
Ps.:dimenticavo che spesso ma non sempre mi restituisce per due volte il valore massimo...e non so perche lo faccia...




Ho aggiunto anche il codice in txt
Allegati
File Type: txt c++.txt (2.1 KB, 4 visite)

Ultima modifica di -andrea- : 12-12-2008 alle 14:33.
-andrea- è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2008, 15:52   #2
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Codice:
#include <cstdlib>
#include <iostream>
#include <fstream>

#define N 200

typedef int vettore[N];

void costruisciVettori(vettore vpari, int &npari , vettore vdispari , int &ndispari);
int massimo(vettore v, int riemp);
void stampa(vettore v,int riemp);

using namespace std;

int main(int argc, char *argv[])
{
    vettore vpari;
    vettore vdispari;
    int npari=0;
    int ndispari=0;
    int mp;
    int md;
    
    costruisciVettori(vpari, npari, vdispari, ndispari);
    
    mp=massimo(vpari, npari);
    md=massimo(vdispari, ndispari);
    
    cout << "mp : " << mp << "\nmd : " << md << endl;
    
    if(mp>md)
    stampa(vpari,npari);
    else
    stampa(vdispari,ndispari);
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

/*===========================================================================*/

void costruisciVettori(vettore vpari, int &npari, vettore vdispari,int &ndispari)
{
     fstream file;
     int appoggio;
     
     file.open("SORGENTE.txt" , ios::in);
     
     if (!file)
     cout<<"*** Il file non esiste ***\n\n";
     
     else
     {
         while (!file.eof())
         {
          file>>appoggio;
         
          if((appoggio%2)==0)
          {
                             vpari[npari]=appoggio;
                             npari++;
          }
          
          else
          
          {
                             vdispari[ndispari]=appoggio;
                             ndispari++;
          }
         } 
         
         
     }
     
     file.close();
}
       
/* ===========================================================================*/

int massimo(vettore v, int riemp)
{
    int i;
    int max=v[0];
    
    for(i=1; i<riemp; i++)
    {
             if (v[i]>max)
             max=v[i];
    }
    return max;
}

/*============================================================================*/

void stampa(vettore v, int riemp)
{
     int i;
     
     cout<<"Il vettore contenente il massimo valore tra i due e' : \n";
     for(i=0; i<riemp; i++)
     cout<<v[i]<<endl;
}
nella funzione massimo c'èera un errore ... basta che confronti quella che io ho corretto con la tua e capirai subito cos'era.

Ultima modifica di Alex_87_xelA : 12-12-2008 alle 16:14.
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2008, 17:11   #3
-andrea-
Senior Member
 
L'Avatar di -andrea-
 
Iscritto dal: Jan 2006
Città: Afragola(NA)
Messaggi: 3336
grazie mille...ora mi funziona...
sebbene quando io vado ad inserire nel sorgente.txt valori come 1 2 3 4 5 6 mi stampa a video una scrittura del tipo:

2
4
6
6


Non capisco perchè mi mostri a video 2 volte un valore non necessariamente il max

Ultima modifica di -andrea- : 12-12-2008 alle 19:51.
-andrea- è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2008, 23:32   #4
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
Originariamente inviato da -andrea- Guarda i messaggi
grazie mille...ora mi funziona...
sebbene quando io vado ad inserire nel sorgente.txt valori come 1 2 3 4 5 6 mi stampa a video una scrittura del tipo:

2
4
6
6


Non capisco perchè mi mostri a video 2 volte un valore non necessariamente il max
perchè nel file lasci un rigo vuoto !!!
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Windows 11 avrà a breve uno Speed...
Ask Intel: l'assistente IA che ti aiuta ...
Nasce Freedom.gov: il portale USA per ag...
Bose QuietComfort SC a 179,95€: ANC legg...
Attenzione ai conti: confermata falla sf...
30.000 Pa e lavaggio a 100°C: DREAME...
Nioh 3 vola oltre 1 milione di copie, la...
AMD Radeon RX 9060 XT: staccato (di molt...
WhatsApp introduce la condivisione della...
iPad con chip A16 a 339€: l'11'' con 128...
OpenClaw spaventa le aziende: perch&eacu...
Samsung T7 2TB crolla su Amazon: SSD por...
Tutte le JBL a prezzi da non perdere su ...
PS6 e RDNA 5: la GPU sarà 'quasi ...
Meta cambia rotta sul metaverso: Horizon...
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: 16:35.


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