Sunteți pe pagina 1din 3

Citirea datelor din fisier, scrierea rezultatelor in fisier

Fisierul este o rortiune de disc, unde se pastreaza careva informatie.


Fisierele au nume si extensie:
nume.exensie
Numele serveste pentru a accesa portiunea de disc, iar extensia ne arata ce fel de
informatie se afla in fisier.
Fisierele sunt de mai multe tipuri:
1. Fisiere executabile: *.exe; *.com; *.sys; …
2. Fisiere textuale: *.txt; *.docx; …
3. Fisiere grafice: *.jpeg; *.png; *.gif; *.psd; *. cdr; …
4. *.pas; *. cpp; *.php; *.py; … - fisiere cu programe
5. ….
Intr-un limbaj putem folosi variabile de tip fisier.
Variabile pot fi:
- De tip fisier textual- fisiere secventiale, unde cursorul e pozitionat la inceput,
continutul poate fi caractere, siruri de caractere, numere intregi, reale- structurate
pe linii. Pentru a ajunge la careva componenta trebuie sa parcurgem toate
componebtele precedente
- Fisiere cu tip – cu access direct, care permite sa accesez careva componenta I,
fara a le parcurge pe cele precedente
- Fisiere fara tip, care contin blocuri de informatie
Noi vom lucra cu variabile de tip fisier text

Biblioteca care permite citirea din fisier/ scrierea in fisier este fstream.h in limbajul C
standart. Deaceea trebuie sa declaram aceasta biblioteca, in care avem procedura de citire
din fisier si procedura de scriere in fisier:
#include<fstream.h>
Pentru a citi/ a scrie putem folosi procedura fin si fout, pentru a intelege ca citirea/
scrierea se face in fisier. Ca sa nu ne complicam putem folosi cin si cout . Numai ca
trebuie sa indicam numele fisierului de intrare si numele fisierului de iesire. Ne folosim
de procedurile
ifstream fin (“nume.in”) , ofstream fout (“nume.out”)
Ex,
#include<fstream.h>
using namespace std;
int a,b;
int main() { ifstream fin(“prob1.in”); ofstream fout(“prob1.out”);
fin>>a>>b;
fout<<a+b<<endl;
return 0;
}
In loc de fin si fout putem folosi cin si cout, carora le atasam fisierul in main, nu
global
ifstream cin (“nume.in”) , ofstream cout (“nume.out”)

Ex,
#include<fstream.h>
using namespace std;
int a,b;
int main() { ifstream cin(“prob1.in”); ofstream cout(“prob1.out”);
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
Biblioteca #include<fstream.h> in C++ se contine in #include<bits/stdc++.h>
Ex, #include<bits/stdc++.h>
using namespace std;
int a,b;
int main() { ifstream cin(“prob1.in”);
ofstream cout(“prob1.out”);
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
Problema 1
1. Din fisierul prob1.in de citi pana eof toate numerele in tabloul A[n]; n<=500 n-?
2. De scris elementele tabloului A in fisierul prob1.out
3. De terminat cate numere prime sunt in A, locul primului numar prim in A si de scris
prob1.out
4. De sortat numerele din A descrescator prin metoda bulelor- optima si de scris
5. De determinat in A sortat cea mai lunga secventa de numere pare si de scris
inceputul, secventei, lungimea secventei si secventa
Intrare 14 2 2 2
12 11 0 3 8
8 5 11 9
6
Tabloul A: 14 2 2 2 12 11 0 3 8 8 5 11 9 6
K_prim=7 loc=1
Ex 14 12 11 11 9 8 8 6 5 3 2 2 2 0
14 12; 8 8 6; 2 2 2 0
Rezultatul este: inceput= 10; l=4; secventa : 2 2 2 0

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