Sunteți pe pagina 1din 4

1) Se citeste un fisier TEST ce contine numere intregi despartite prin spatiu sau ENTER.

Sa se afiseze
minimul si maximul din acel fisier.
#include <iostream>
using namespace std;
#include<fstream.h>
#include<values.h>

void main()
{
ifstream f("C:\\test.txt");

/*
ifstream f;
f.open("numar.txt");
*/

if(!f) //sau f=NULL
{
cout<<"Eroare la deschiderea fisierului!"<<endl;
return;
}
int x,max=-MAXINT,min=MAXINT;

f.seekg(0,ios::beg); //ne pozitionam la inceputul fisierului
while(!f.eof())
{
f>>x;
if (max<x)
max=x;
else if (min>x)
min=x;
}

f.close();
cout<<"Maximul este: "<<max<<endl;
cout<<"Minimul este: "<<min<<endl;

int k;
cin>>k;
}

2) Se citeste un fisier text ce contine numere intregi despartite prin spatiu sau ENTER. Se cere a se calcula si
afisa pe ecran suma tuturor valorilor numerice din fisier si numarul de elemente strict negative.
#include<iostream.h>
using namespace std;
#include<fstream.h>
#include<values.h>

void main()
{
ifstream f("C:\\test.txt"); //sau: fstream f("C:\\test.txt",ios::in);
if(!f) //sau f=NULL
{
cout<<"Eroare la deschiderea fisierului!"<<endl;
return;
}

int x[100], n_neg=0, s=0, i;
f.seekg(0,ios::beg); //ne pozitionam la inceputul fisierului
i=0;
while(!f.eof())
{
f>>x[i];
if(x[i]<0)
n_neg++;
s+=x[i++];
}

f.close();
cout<<"Numarul elementelor negative: "<<n_neg<<endl;
cout<<"Suma tuturor elementelor: "<<s<<endl;

int k;
cin>>k;

}

3) Se citeste un fisier TEXT ce contine numere intregi despartite prin spatiu sau ENTER. Sa se afiseze
minimul si maximul din acel fisier. Se va defini o clasa ptr numerele intregi din fisier.
#include<iostream.h>
using namespace std;
#include<fstream.h>
#include<values.h>

class numar
{
int n;
public:
int& retur();
friend istream& operator>>(istream&,numar&);
};
int& numar::retur()
{
return n;
}
istream& operator>>(istream& a,numar& b)
{
a>>b.n;
return a;
}
void main()
{
ifstream f("C:\\test.txt ");
if(!f)
{
cout<<"Eroare la deschiderea fisierului!"<<endl;
return;
}

numar x;
int max=-MAXINT;
int min=MAXINT;
f.seekg(0,ios::beg);
while(!f.eof())
{
f>>x;
if (max<x.retur())
max=x.retur();
else if (min>x.retur())
min=x.retur();
}

cout<<"Minimul este: "<<min<<endl;
cout<<"Maximul este: "<<max<<endl;

int k;
cin>>k;
}

4) Se citeste un sir de la tastatura pana la intalnirea caracterului "$". Dupa citire datele se scriu intr-un fisier
text si se preiau din fisierul respectiv si se face contorizarea fiecarei vocale din fisier.
#include<iostream.h>
#include<fstream.h>
#include<stdio.h>
using namespace std;
void main()
{
char c;
int a=0,e=0,i=0,o=0,u=0;
ofstream f("C:\\test.txt");

if(!f)
{
cout<<"Eroare la deschidere."<<endl;
}

do{
c=getchar();
switch(c)
{
case 'a': a++; break;
case 'e': e++; break;
case 'i': i++; break;
case 'o': o++; break;
case 'u': u++;
}

if(c!='$')
f.put(c); //ar fi mers si f<<c;
}while(c!='$');

f.close();
ofstream g("C:\\test.txt");
if(!g)
{
cout<<"Eroare la deschidere fisierului de citire."<<endl;
}

g<<"Vocala a se gaseste de : "<<a<<" ori.\n";
g<<"Vocala e se gaseste de : "<<e<<" ori.\n";
g<<"Vocala i se gaseste de : "<<i<<" ori.\n";
g<<"Vocala o se gaseste de : "<<o<<" ori.\n";
g<<"Vocala u se gaseste de : "<<u<<" ori.\n";
g.close();
cout<<"Opratia de contorizare a vocalelor a reusit!"<<endl;

int k;
cin>>k;

}

5) Sa se sumeze valorile numerice dintr-un fisier text.
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
#include<fstream.h>
#include<stdio.h>
using namespace std;

void main()
{
char a[255], separator[]=" ,",cifre[]="0123456789.+-",*p;
double s=0;
fstream f("C:\\test.txt",ios::in);

if(!f)
{
cout<<"Eoare la deschiderea fisierului."<<endl;
return;
}

while(!f.eof())
{
f.getline(a,255,'\n');
p=strtok(a,separator); //se separa sirul folosind ca separator spatiul
sau virgula
while (p)
{
if (strspn(p,cifre)==strlen(p))
s+=atof(p);
cout<<p<<"\n";
p=strtok(NULL,separator);
}
}

cout<<"Suma este: "<<s<<endl;

int k;
cin>>k;
}

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