Bacalaureat 2008-Sesiunea iunie-iulie

Rezolvare Bac 2008-Sesiunea de vara

Subiectul I

1. (d<a) || (b<c)

2.

a) 4

b) 4, 9, 14

c)

#include <iostream>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

int a,b,p;

cout<<"a=";cin>>a;

cout<<"b=";cin>>b;

p=0;

while(a!=b)

{

p=p+1;

if(a<b)

a=a+2;

else

b=b+3;

}

cout<<p;

return 0;

}

d)

citeste a,b

(numere intregi)

p<-0

- repeta

| p<-p+1

| - daca a<b atunci

| | a<-a+2

| | altfel

| | b<b+3

| |_

|

| pana cand a=b

|_

scrie p

Subiectul II

1. strict sub diagonala secundara

2. gradul este 6

3. 6

4. 5 4 3

5.

#include <iostream>

#include <string.h>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

char a[21],b[20],c[20];

int i,j=0;

do

{

cout<<"Scrieti un cuvant cu maximum 20 de litere: ";cin>>a;

}while(strlen(a)<1 || strlen(a)>=20);

for(i=0;i<strlen(a)/2;i++)

b[i]=a[i];

for(i=(strlen(a)/2)+1;i<strlen(a);i++)

{

c[j]=a[i];

j++;

}

strcat(c,a[strlen(a)/2],1);

strcat(c,b);

cout<<c;

return 0;

}

Subiectul III

1. 120

2. 10, 5050

3.

a)

int dist(int a)

{

int i,b[8],k=0,j,t=1;

do

{

b[k]=a%10;

a=a/10;

k++;

}while(a!=0);

for(i=0;i<k-1;i++)

for(j=i+1;j<k;j++)

if(b[i]==b[j])

t=0;

return t;

}

b)

#include <iostream>

#include <fstream>

using namespace std;

int dist(int a)

{

int i,b[8],k=0,j,t=1;

do

{

b[k]=a%10;

a=a/10;

k++;

}while(a!=0);

for(i=0;i<k-1;i++)

for(j=i+1;j<k;j++)

if(b[i]==b[j])

t=0;

return t;

}

int main()

{

cout << "Hello world!" << endl;

ifstream f("date.in");

int n;

cout<<"Sa se afiseze pe ecran numerele de pe a doua linie ce au cifrele distincte"<<endl;

f>>n;

while(f>>n)

if(dist(n)==1)

cout<<n<<" ";

return 0;

}

4.

#include <iostream>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

int n,i,s,a[100],aux,p=0;

do

{

cout<<"Introduceti un numar natural nenul mai mic sau egal cu 100: ";cin>>n;

}while(n<1 || n>100);

cout<<"Introduceti numere cu maxim 4 cifre"<<endl;

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

{

do

{

cout<<"a["<<i<<"]=";cin>>a[i];

}while(a[i]>9999);

}

do

{s=0;

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

if(a[i]>a[i+1])

{aux=a[i];

a[i]=a[i+1];

a[i+1]=aux;

s=1;

}

}while(s!=0);

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

if(a[i+1]-a[i]==a[i+2]-a[i+1])

p=1;

if(p==1)

cout<<"Da";

//Numerele pot face parte dintr-o progresie aritmetica

else

cout<<"Nu";

return 0;

}