prova scritta: elementi di info

Messaggioda recidjvo » 19/11/2004, 11:10

Ciao a tutti! Dunque come già detto la pros settimana ho l'esame di Fondamenti d'informatica I per ingegneri elettronici.
Sono riuscito ad ottenere tramite un mio amico la traccia data l'anno scorso, che per grandi linee ha la struttura di quella che danno ogni anno.. mi basta solo chiarire alcuni concetti e sto a posto.

In pratica danno un codice già scritto, il main è TUTTO già scritto, ti danno il NUMERO cioè quante funzioni devi utilizzare, TI DANNO COSA deve fare il codice e di danno anche il risultato atteso per controllare che tutto vada bene. Dunque quello che effettivamente lo studente deve fare è dichiarare le funzioni e completarle...le funzioni esterne sono già scritte.. nel codice esce scritto ad un certo punto ''DA COMPLETARE'' e lì devi inserire la funzione opportuna. Non è per niente difficile per voi credo.

Ecco la traccia


Supponendo di avere due file di testo (che ti danno loro, già riempiti coi numeri dentro) di nome ''primofile.txt'' e ''secondofile.txt contenenti N numeri dove N è <=MAXLUNG completare il seguente codice:


N.B tutto ciò che metto sottolineato è ciò che LORO già ti danno..

CODICE DATO:


<u>
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>
#define MAXLUNG 30

fstream fi; \*dichiarazione globale della var.le fstream per cui nelle funzioni nn c'è bisogno di dichiararla*\


int main()
{

int primovettore[MAXLUNG];
int secondovettore[MAXLUNG];
int terzovettore[MAXLUNG];
int riempimento=0;


\\caricamento primo file nel primo vettore
fi.open("primofile.txt, ios::in)
riempimento=carica(primovettore);
fi.close();

\\caricamento secondo file nel secondo vettore
fi.open("secondofile.txt, ios::in)
riempimento=carica(secondovettore);
fi.close();


\\elabora i primi 2 vettori e ottieni il terzo vettore
elabora (primovettore,secondovettore,terzovettore,riempimento);


\\stampa il terzovettore
stamp(terzovettore,riempimento)
system ("pause");
return 0;
}

</u>

scrivere quindi 3 funzioni esterne al main, dopo averle dichiarate:

-carica
-elabora
-stampa


la prima funzione carica deve caricare 1° e 2° vettore da due file txt già dati contenenti i seguenti numeri:


CONTENUTO primofile.txt: 1 2 3 4 5 2 3 7 8 9 2 3 6 7 4
CONTENUTsecondofile.txt: 8 4 2 3 5 6 7 8 9 4 2 5 7 8 4


il nocciolo del problema è che si deve costruire una funzione elabora() in modo che dati l'iesimo elemento del primovettore e l'iesimo elemento del secondovettore, nell'iesimoelemento del terzo vettore metta:


--se l'iesimo elemento del primovettore è dispari e l'iesimo elemento del secondovettore è pari allora nell'iesima posizione del terzovettore metti il numero 2;

-se l'iesimo elemento del primovettore è dispari e l'iesimo elemento del secondovettore è dispari allora nell'iesima posizione del terzovettore metti il numero 3;

se l'iesimo elemento del primovettore è pari e l'iesimo elemento del secondovettore è pari allora nell'iesima posizione del terzovettore metti il numero 0;


se l'iesimo elemento del primovettore è pari e l'iesimo elemento del secondovettore è disppari allora nell'iesima posizione del terzovettore metti il numero 1;







niente di speciale come vedete nella funzione elabora bastano un pò di if annidati che controllano ecc


la domanda mia è tanto per iniziare....come la impostereste una SOLA funzione carica che carica i due vettori? Se la variabile fstream fi non era dichiarata globale occorrevano 2 funzioni per caricare?
Ma soprattutto quando passo primovettore con la funzione carica, il CONTENUTO di primovettore viene modificato? cioè in primovettore ho effettivamente i numeri presenti nel file?




Schiaritemi un pò le idee per favore!!!!

E' in c++


ciao e grazie mille
recidjvo
New Member
New Member
 
Messaggio: 35 di 71
Iscritto il: 31/10/2004, 10:08

Messaggioda eafkuor » 25/11/2004, 14:14

cioe' questi sono i fondamenti di programmazione in c++!!!!!

-----------------------
Il bello di essere intelligente e' che puoi divertirti a fare l' imbecille, ma se sei un imbecille non puoi fare il contrario.
Woody Allen
eafkuor
Senior Member
Senior Member
 
Messaggio: 103 di 1106
Iscritto il: 08/03/2004, 15:59
Località: Italy


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite