Bac.2009 Varianta 1
.
Subiectul I
1. d
2. a) 963
b) 61,65,67
c) citeşte n (număr natural)
z<- 0
p<- 1
- daca n>0 atunci
| - repetă
| | c<- n%10
| | n<- [n/10]
| | - dacă c%3=0 atunci
| | | z<- z+p*(9-c)
| | | p<p*10
| | | _
| |
| | până când n<=0
| |_
|_
scrie z
d) #include <iostream>
using namespace std;
int main()
{
unsigned int n,z,p,c;
cout<<"n=";cin>>n;
z=0;
p=1;
while(n>0)
{
c=n%10;
n=n/10;
if(c%3==0)
{z=z+p*(9-c);
p=p*10;
}
}
cout<<"z="<<z;
return 0;
}
Subiectul II
1. c
2. d
3. d=sqrt( (B.x - A.x)*(B.x-A.x) + (B.y - A.y)*(B.y - A.y) ) ;
cout<<d;
4. nodul cu cei mai multi fii: 6
frunze: 1,2,3,8
5.
#include <iostream>
using namespace std;
int main()
{
unsigned int n,m,i,j;
do{cout<<"Introduceti numarul de linii intre 2 si 20: n=";cin>>n;}while(n<2 || n>20);
do{cout<<"Introduceti numarul de coloane intre 2 si 20: m=";cin>>m;}while(m<2 || m>20);
int a[n][m];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
a[i][j]=min(i,j);
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
Subiectul III
1. d
2. 6
3.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("bac.txt");
unsigned int n,x,p=0;
do{cout<<"Introduceti un numar natural mai mic sau egal cu 999: ";cin>>n;}while(n>999);
while(f>>x)
{
if(x%n==0)
{cout<<x<<" ";
p=1;
}
}
if(p==0)
cout<<"NU EXISTA";
return 0;
}
4.
#include <iostream>
using namespace std;
int sub(int v[100],unsigned int n,int a)
{
int i,nrap=0;
for(i=0;i<n;i++)
if(v[i]==a)
nrap++;
return nrap;
}
int main()
{
unsigned int n,i,p=0;
do{cout<<"Introduceti un numar natural mai mic sau egal cu 100 n=";cin>>n;}while(n>100);
int v[n];
for(i=0;i<n;i++)
cin>>v[i];
for(i=0;i<n;i++)
if(sub(v,n,v[i])>1)
p++;
if(p==0)
cout<<"DA";
else
cout<<"NU";
return 0;
}