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;
}