Sunteți pe pagina 1din 3

LABORATORUL 1

Tipul de date fișier. Instrucțiuni de citire și afișare a datelor

Problemă:
Să se citească și să se însumeze toate numerele dintr-un fișier numit numere.txt și să se afișeze sumele
intermediare într-un fisier numit rezultat.txt. Se va crea inițial fișierul numere.txt care va cuprinde
numerele 1 3 5 7 4 6 8 9.

Rezolvare:

#include <iostream>
#include <fstream>
using namespace std;
int main(){
int a,s=0;
ifstream f("numere.txt");
ofstream g("rezultat.txt");
while (!f.eof()){ // cât nu este sfârșit de fișier
f>>a; // citește toate numerele pe rând
s=s+a;
cout<<s<<" "; // afișează la ecran sumele pe rând
g<<s<<" "; // afișează în fișier sumele pe rând
}
f.close();
g.close();
return 0;
}

Rezultatul obținut după execuția programului:

Rezolvarea sarcinilor cu profesorul


1. Să se calculeze suma a (n+5) numere naturale care se citesc din fișierul Greutate.txt. Să se
efectuieze următoarele sarcini asupra acestor numere:
a) să se calculeze suma celor (n+5) numere;
b) să se calculeze media aritmetică;
c) să se determine elementul minim;
d) să se determine elementul maxim.
Rezultatele de la cazurile a-d să se scrie în fișierul solutia1.txt într-o coloniță pentru fiecare caz.
(Timp necesar: 15 minute)

2. Fie sunt introduse de la tastatură două numere întregi m>10 și n>10. Să se efectuieze următoarele
sarcini asupra acestor numere:
a) să se calculeze media geometică cu o exactitate de minim 6 cifre după virgulă;
b) să se interschimbe cele două numere;
c) să se calculeze suma dintre m și n dacă m<n dacă m>n atunci să se calculeze diferența lor;
d) să se determine ultimele două cifre ale produsului dintre m și n.
Rezultatele de la cazurile a-d să se scrie în fișierul solutia2.txt într-o coloniță pentru fiecare caz.
(Timp necesar: 15 minute)
Probleme propuse pentru lucrul independent / perechi

Problema 1 pitagora.in pitagora.out


Să se verifice dacă 3 numere a,b,c - citite din fișierul pitagora.in - sunt 3 3 4 5
4 Da sunt.
pitagorice (pătratul unuia poate fi scris ca suma pătratelor celorlalte
5
două). Numerele, respectiv rezultatul testului vor fi scrise în fisierul
pitagora.out.
Exemplu:
Fie avem numerele: 3, 4 și 5. Pentru aceste numere vom obține
relațiile:
9  16  25  32  42  52 k 2  0  (32  42 )  k 2  52  k 2 
 32  k 2  42  k 2  52  k 2  (3  k )2  (4  k ) 2  (5  k ) 2
Deci dacă a=5k, b=3k și c=4k, k  * , atunci b 2  c 2  a 2  ABC 
triunghi dreptunghic în A.
(Timp necesar: 10 minute)

Problema 2 segmente.in segmente.out


Fișierul segmente.in conține pe câte un rând perechi de numere 2 2 10
5 6
reprezentând coordonatele extremităților a două segmente. Să se
3 2
afișeze lungimea segmentului mai mare și să se scrie în fișierul 9 10
segmente.out.

(Timp necesar: 15 minute)

Problema 3 interval.in solutie.out.


Fișierul interval.in conține pe prima linie un număr n, iar pe linia a 5 Apartine
doua sunt scrise prin spațiu extremitățile unui interval. Să se specifice 2 10
dacă numărul n aparține intervalului [a,b], iar rezultatul va fi scris în
fișierul solutie.out.
(Timp necesar: 10 minute)

Problema 4 intrare.in iesire.out


Dintr-un fișier intrare.in se va citi un număr natural n, de minim 5 152539 6
25
cifre. Să se scrie, pe linii separate, în fișierul iesire.out:
9
a) câte cifre are numărul citit; 2
b) suma cifrelor numărului citit;
c) cea mai mare cifră a numărului citit;
d) de câte ori se găsește cifra 5 în numărul citit.
(Timp necesar: 15 minute)

Probleme pentru acasă


1. Se citește un șir de la tastatură până la întâlnirea caracterului "$". După citire
datele se scriu în fișierul mesaj.in. Apoi se preiau din fișierul respectiv și se face
contorizarea fiecărei vocale din fișier. Rezultatul se va afișa în fișierul vocale.out.
2. Se citește de pe prima linia a unui fișier un număr natural n>2, apoi de pe
următoarele n linii se citesc el ementele unei matrici. Datele se citesc din fișierul
matrice.in. Să se afișeze în fișierul matrice.out următoarele date: pe prima linie – va
fi elementul minim par din matrice,iar pe a doua linie – va fi elementul maxim impar.
3. Se citește un șir de la tastatură până la întâlnirea caracterului "#". După citire
datele se scriu în fișierul felicitare.in. Apoi se preiau din fișierul respectiv și se face
contorizarea fiecărui diftong: “iu” și ”oa” din fișier. Rezultatul se va afișa în
fișierul diftong.out.
4. Se citește un șir de la tastatură până la întâlnirea caracterului "*". După citire
datele se scriu în fișierul felicitare.in. Apoi se preiau din fișierul respectiv și se face
contorizarea fiecărui triftong: “eau”, ”ioa”, ”iau” și ”eai” din fișier. Rezultatul se
va afișa în fișierul triftong.out.
5. Se citește un șir de la tastatură până la întâlnirea caracterului "0". După citire
datele se scriu în fișierul invitatie.in. Apoi se preiau din fișierul respectiv și se face
contorizarea fiecărui hiat: “ue”, ”ai”, ”oe” și ”ae” din fișier. Rezultatul se va
afișa în fișierul hiat.out.

S-ar putea să vă placă și