Bacalaureat 2008 - Modele de rezolvare
4. a)
Varianta C/C++
#include<iostream.h>
#include<fstream.h>
#include<string.h>
#include<stdlib.h>
#include<values.h>
#include<stdio.h>
int n,nr,max;
int palindrom(long n)
int nr,i; char *s; nr=1;
itoa (n,s,10);
for(i=1; i<=(strlen(s)/2); if(s[i]!=s[strlen(s)-i+1])
nr=0; return nr;
void main()
ifstream f("numere.txt");
max=-MAXINT;
while ( !f.eof ())
f>>n;
if(n>max && palindrom(n))
max=n;
nr=0;
f.close
ifstream h("numere.txt");
while ( !h.eof ())
f>>n;
if (n==max)
nr
ofstream g ("nrout.txt");
g<<max; g<<nr;
h.close ); g.close ();
Varianta PASCAL
var n,nr,max:longint;f,g:text;
function palindrom(n:longint):integer;
var nr,i:integer; s:string;
begin
nr
str n,s
for i:=1 to length(s) div 2 do
if s[i]<>s[length(s)-i+1] then nr:=0; palindrom:=nr; end; begin
assign (f, 'c:\tp\numere.txt');reset(f); max:=-maxint; while not eoln(f) do begin read(f,n);
if (n>max) and (palindrom(n)=1) then max:=n; end;
reset (f); nr:=0;
while not eoln(f) do begin read(f,n);
if n=max then nr:=nr+1; end;
assign (g, 'c:\tp\nrout.txt');rewrite (g); writeln(g,max);writeln(g,nr); close (f);close (g); end.
b) Programul citeste din fisierul text numere.in numerele, iar functiapalindrom se apeleaza doar pentru numerele mai mari decât max.
Varianta <72>
SUBIECTUL I
1.d
2. a)
Bacalaureat 2008 - Modele de rezolvare
b) (j >=0) and (j<>4)
c)
Varianta C/C++
#include<iostream.h> int n,i,j,b; void main() if(b==0)
cout<<"\n";
Varianta PASCAL
var n,i,j,b:integer;
begin
write('dati n='); readln(n);
for i:=1 to 2*n-1 do
begin
b
if (n-i)<0 then j:=i-n else j:=n-i;
while j>=0 do begin write('*');
b
end
if b=1 then writeln; end; end.
SUBIECTUL II
c. pentru intensiv, respectiv c. pentru neintensiv
d. pentru intensiv, respectiv a. pentru neintensiv
graful dat are o componenta conexa, prin eliminarea vârfului 1 se obtine un subgraf cu 3 componente conexe(maxim în acest caz).
Pentru intensiv: Pentru neintensiv:
p .info Prin adaugarea muchiilor (3,1)
u .info respectiv (4,5) între oricare doua noduri
x si y exista cel putin un drum. (numar minim de muchii).
Explicatii pentru intensiv
Matricea se construieste pornind de la primul element egal cu o valoare val initial egala cu 1, care apoi la fiecare pas creste cu o unitate. Se parcurge matricea de sus în jos pe semidiagonale pâna la diagonala secundara, apoi restul elementelor aflate sub diagonala secundara vor _u ape rând valori egale cu elementele deja construite astfel asigurânsu-se simetria.
Varianta C/C++
#include<iostream.h>
int a[100] [100],i,n,j,x,y,val;
void main()
cout<< »dati n= »
val
for(x=1; x<=n;
cin
Varianta PASCAL
var a:array[1..100,1..100] of integer;
i,n,j,x,y,val:integer; begin
write( dati n=');readln(n); val:=1;
for x:=1 to n do beginBacalaureat 2008 - Modele de rezolvare
i=x ; j=1 ;
for(y=1; y<=x; y++)
[j]=val;
y=1;
for(i=n; i>=2; if(cx==1 && cy==1)
c
} cifre=c;
end
|