Sunteți pe pagina 1din 8

/******************************************************************************

atestat sub 10

Din fișierul sir.in se citesc un număr natural nenul n (n<1000) și un șir de n

numere întregi cu cel mult 5 cifre fiecare.

Se cere scrierea și executarea la calculator a unui program care scrie în

fișierul sir.out, separate prin câte un spațiu, în ordine crescătoare,

toate numerele naturale de 2 cifre care nu apar în fișierul sir.in.

În cazul în care nu există astfel de numere, în fișier se va scrie mesajul nu exista.

*******************************************************************************/

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("sir.in");

ofstream g("sir.out");

int main()

int v[100]={0}, n, i, ok=0, x;

f>>n;

for(i=1;i<=n;i++)

f>>x;

v[x]++;

for(i=10;i<=99;i++)

if(v[i]==0)

{
g<<i<<" ";

ok=1;

if(ok==0) g<<"nu exista";

return 0;

/******************************************************************************

atestat sub 11

Subprogramul vocale are doi parametri:

 s, prin care primește o adresă cu ajutorul căreia memorează un șir de caractere reprezentând

un text care conține cel puțin unul și cel mult 80 de caractere;

 v, prin care furnizează un număr natural reprezentând numărul de vocale (litere mici sau litere

mari din mulțimea { a, e, i, o, u, A, E, I, O, U }) din șirul de caractere memorat cu

ajutorul variabilei s.

Scrieţi la calculator definiţia completă a subprogramului.

Exemplu: dacă se memorează, cu ajutorul variabilei s, șirul de caractere Cum va place

variabila v va furniza valoarea 4 (deoarece șirul de caractere conține patru vocale).

*******************************************************************************/

#include <iostream>

#include <fstream>

#include <cstring>

using namespace std;

ifstream f("vocale.in");

ofstream g("vocale.out");

void vocale(char *s, int &v)

{
v=0;

for(int i=0;i<strlen(s);i++)

if(strchr("aeiouAEIOU",s[i])!=0)

v++;

int main()

char t[81], *p;

int nr=0, i, n, voc, ok=0;

f.get(t,81);

p=strtok(t," ");

while(p)

n=strlen(p);

vocale(p, voc);

if(n==voc)

nr++;

ok=1;

if(strstr(p,"str")!=0)

g<<p<<endl;

p=strtok(NULL, " ");

cout<<nr;

return 0;

/******************************************************************************

atestat sub 12
*******************************************************************************/

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("perfect.in");

int perfect (int x)

int div, s=1+x;

for(div=2;div<=x/2;div++)

if(x%div==0)

s=s+div;

if(2*x==s)

return 1;

else return 0;

int main()

int x, poz, xmax=0, i=0, ok=0;

while(f>>x)

i++;

if(perfect(x)==1 && x>xmax)


{

xmax=x;

poz=i;

ok=1;

if(ok==1) cout<<xmax<<" "<<poz;

else cout<<"imposibil";

return 0;

/******************************************************************************

atestat sub 13

*******************************************************************************/

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("arbore.in");

int pozitia (int n, int v[100], int x)

int poz=1, ok=0;

while(poz<=n)

if(v[poz]==x)

return poz;

poz++;

}
return -1;

int main()

int n, v[100], i;

f>>n;

int fr[n+1]={0};

for(i=1;i<=n;i++)

f>>v[i];

for(i=1;i<=n;i++)

if(v[i]==0)

cout<<i<<endl;

fr[v[i]]++;

int max=0;

for(i=1;i<=n;i++)

if(fr[i]>max)

max=fr[i];

for(i=1;i<=n;i++)

if(fr[i]==max)

cout<<i<<" ";

cout<<endl;

for(i=1;i<=n;i++)

if(fr[i]==0)

cout<<i<<" ";

return 0;

/******************************************************************************

atestat sub 14 NU ESTE CORECT


*******************************************************************************/

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("secventa_k.in");

void secv_tablou (int n, int v[100], int a, int b)

for(int i=a;i<=b;i++)

cout<<v[i]<<" ";

int main()

int n, v[100], i, j, k, a, b, ok=0;

cin>>k;

f>>n;

for(i=1;i<=n;i++)

f>>v[i];

for(i=1;i<=n;i++)

if(v[i]==k) ok++;

if(ok==1 || ok==0) cout<<"imposibil";

for(i=1;i<=n;i++)

{
if(v[i]==k)

a=i;

do{

b=i+1;

while(v[b]!=k && b<=n)

b++;

secv_tablou(n, v, a, b);

cout<<endl;

}while(b<=n);

return 0;

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