Documente Academic
Documente Profesional
Documente Cultură
Partea I
1. Fişierulintrare.txtconţinedouă linii. Pe prima linieestescris un numă r natural
nenuln, (5<n<10). Pe cea de-a doualinie a fişierului sunt scrise n
numereîntregi separate princâte un spaţiu, formatefiecare din celmult4
cifre, reprezentând un şir de nîntregi. Să se scrie un program înlimbajulC++, care:
a) Să se afişeze pe ecran, înlinie, valorile absolute ale numerelor din şir, separate princâte un
spaţiu;
#include <iostream>
#include <fstream>
int main()
ofstream g("iesire.txt");
int n, x, i;
f>>n;
f>>x;
return 0;
b) să scrieînfişierul iesire.txt, pe prima linie, toatenumereleimpare din şir,
înordinecrescă toare, separate princâ te un spaţiu.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("intrare.txt");
ofstream g("iesire.txt");
int n, i, k, d, x;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
k=0;
if (x<0) x=x*(-1);
for (d=2; d*d<=x; d++)
if (x%d==0)
{
k++;
if (d*d<x) k++;
}
g<<k <<" ";
}
return 0;
}
int main()
{
ifstream f("intrare.txt");
int n, x, i;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
cout <<x <<" ";
}
return 0;
}
b) să afişeze pe ecran, înlinie, toate numerele din şir formate numai din cifre pare (dacă nu există
astfel de numere în şir se va afişa mesajul“NU EXISTĂ
NUMERE NUMAI CU CIFRE PARE”
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("intrare.txt");
int ok=1, k, n, i, x, z, c;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
z=x;
k=1;
while (z!=0 && k==1)
{
c=z%10;
if (c%2!=0) k=0;
z=z/10;
}
if (k==1)
{
ok=1;
cout <<x <<" ";
}
}
if (ok==0) cout <<"Nu exista numere numai cu cifre pare";
return 0;
}
c) să citească de la tastatură două numere natural nenule p1 şi p2 (1<p1<p2<n),să ordoneze
descrescător numerele din șir situate întrepozițiile p1 și p2 inclusiv, și să scrie nou lșir în fișieru
lieșire.txt, pe o linie, numerele separându-se princâte un spațiu.
#include <iostream>
#include <fstream>
#include <algorithm>
int main()
{
ifstream f("inserare.txt");
ofstream g("ieșire.txt");
int v[10001], n, x, s, d, i;
cin >>s >>d;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
v[i]=x;
}
sort(v+s, v+1+d);
for (i=1; i<=n; i++) g<<v[i] <<" ";
f.close ();
g.close ();
return 0;
}
3. Fişierul intrare.txt conţinedouă linii. Pe prima linieestescris un numă r
natural nenul n, (5<n<30). Pe cea de-adoualinie a fişierului sunt scrise n
numerenaturale separate princâ te un spaţiu, formatefiecare din celmult4cifre,
reprezentâ nd un şir de nnumerenaturaledistincte. Să se scrie un program
înlimbajulC++, care:
int main()
{
ifstream f("intrare.txt");
int n, i, x, min=INT_MAX, d;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
if (x<min) {min=x; d=i;}
}
cout <<min <<endl <<d;
return 0;
}
c)
Să scrie înfişierul iesire.txt, pe o linie, separate princâte un spaţiu, toate numerele perfecte din şirul
dat (dacă nu există astfel de numere, se va se va afişa mesajul “NU EXISTĂ NUMERE PERFECTE”). Un
număr este perfect dacă este egal cu suma divizorilor lui pozitivi, exceptându-l pe el însuşi,
#include <iostream>
#include <fstream>
int main()
ifstream f("intrare.txt");
ofstream g("iesire.txt");
int n, i, x, d, S , ok=0;
f>>n;
f>>x;
S=0;
if (x%d==0) S=S+d;
return 0;
}
4. Fişierul intrare.txt conţinedouă linii. Pe prima linieestescris un numă r
natural nenuln, (5<n<30). Pe cea de-a doualinie a fişierului sunt scrise n
numerenaturale separate princâ te un spaţiu, formatefiecare din
celmult4cifre, reprezentâ nd un şir de nnumerenaturaledistincte.
Să se scrie un program înlimbajulC++, care:
a) săafişeze pe ecran, înlinie, toatenumerele din şir, separate princâte un spaţiu;
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("intrare.txt");
int n, i, x;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
cout <<x <<" ";
}
return 0;
}
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
int main()
{
ifstream f("intrare.txt");
int n, i, x, max=-INT_MAX, d;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
if (x>max) {max=x; d=i;}
}
cout <<max <<endl <<d;
return 0;
}
c)
săscrieînfişieruliesire.txt, pe o linie, separate princâte un spaţiu, numerelesupraperfectedin şiruldat
(dacă nu existăastfel de numere, se vaafişamesajul “NU EXISTĂ NUMERE SUPRAPERFECTE”). Un
număreste supraperfect dacă este mai mic decât suma divizorilorlui pozitivi, exceptându-l pe el însuşi,
#include <iostream>
#include <fstream>
int main()
ifstream f("intrare.txt");
ofstream g("iesire.txt");
int n, i, x, d, S , ok=0;
f>>n;
f>>x;
S=0;
if (x%d==0) S=S+d;
return 0;
}
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("intrare.txt");
int n, i, x;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
cout <<x <<" ";
}
return 0;
}
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("intrare.txt");
int S=0, k=0, n, i, x;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
if (x%2==0)
{
S=S+x;
k++;
}
}
cout <<endl <<S/k;
return 0;
}
c)
săscrieînfişieruliesire.txt, pe o linie, separate princâte un spaţiu, numerele de tip palindrom din şiruldat
(dacă nu existăastfel de numere, se vaafişamesajul “ NUEXISTĂ NUMERE PALINDROM”). Un
numărestepalindromdacănumărulcitit de lastânga la dreaptaesteegal cu numărulcitit de la dreapta la
stânga
#include <iostream>
#include <fstream>
int main()
ifstream f("intrare.txt");
ofstream g("iesire.txt");
f>>n;
f>>x;
og=0;
m=x;
while (m!=0)
c=m%10;
og=og*10+c;
m=m/10;
return 0;
#include <iostream>
#include <fstream>
int main()
{
ifstream f("intrare.txt");
int n, i, v[10001];
f>>n;
for (i=1; i<=n; i++) f>>v[i];
for (i=n; i>=1; i--) cout <<v[i] <<" ";
return 0;
}
b) săafişeze pe ecran, înlinie, numărul de cifre din care este format fiecarenumăr din şiruliniţial,
numerele din linieseparându-se princâte un spaţiu;
#include <iostream>
#include <fstream>
c) săscrie înfişierul iesire.txt, pe prima linie, suma tuturor numerelor impare din şir.
#include <iostream>
#include <fstream>
int main()
{
ifstream f("intrare.txt");
ofstream g("iesire.txt");
int S=0, n, i, x;
f>>n;
for (i=1; i<=n; i++)
{
f>>x;
if (x%2!=0) S=S+x;
}
g<<S;
return 0;
}