Sunteți pe pagina 1din 5

Varianta <71>

SUBIECTUL I 1. c. 2. a) 84345 b) 420, 3, 26, 14 c)


#include<iostream.h> int n,i,j,x,s; void main() { cout<<"Dati n="; cin>>n; for(i=1; i<=n; i++) { cout<<"Dati x="; cin>>x; while(x>9) x=x/10; for(j=i; j<=i-1; j++) x=x*10; s=s+x; } cout<<s; } c) preudocod: s0 citete n pentru i1, n execut citete x repeat dac [x / 10] <>0 atunci x[x / 10] altfel xx pn cnd x<=9 pentru j1 , i-1 execut xx*10 ss+x scrie s

SUBIECTUL II 1. c. 2. d. 3. s1=s1+a[i][i]; s2=s2+a[i][n-i+1]; 4. Varianta C/C++


gets(e1.nume); cin>>e1.nota; gets(e2.nume); cin>>e2.nota; if(e1.nota>=e2.nota) puts(e1.nume); else puts(e2.nume);

s1:=s1+a[i,i]; s2:=s2+a[i,n-i+1];

5. Explicaii Folosind funcia POS, determinm poziia subirului c n irul s, dup care se face inlocuirea cu *
#include<iostream.h>

#include<string.h> #include<stdio.h> char s[20],c[20]; int m,n,i,p; void main() { cout<<"dati sirul s="; gets(s); cout<<"dati n=strlen(s); m=strlen(c); p=*strstr(s,c); cout<<p<<endl; if(p==0) cout<<"NU APARE"; else { while(p!=0) { for(i=p; i<=p+m-1; i++) s[i]='*'; p=*strstr(s,c); cout<<p<<endl; } puts(s); } }

sirul

c=";

gets(c);

5. Explicaii pentru neintensiv Pentru a construi matricea cerut aceasta se parcurge pe coloane de sus n jos, iar la fiecare pas se actualizeaz valoarea care trebuie adaugat :
K1 ; pentru j1, n execut pentru i1, n execut a[j,i] k; kk+1; sfrit pentru sfrit pentru

SUBIECTUL III 1. d. 2. 5 3. Explicaii Funcia definit transform numrul primit ca i parametru intr-un ir de caractere, apoi se veric dac irul astfel obinut este palindrom sau nu.
int palindrom(long n) { int nr,i; char s; nr=1; itoa(s,n,10); for(i=1; i<=(strlen(s)/2); i++) if(s[i]!=s[strlen(s)-i+1]) nr=0; return nr; }

p=*strstr(s,c); cout<<p<<endl; } puts(s); } }

5. Explicaii pentru neintensiv Pentru a construi matricea cerut aceasta se parcurge pe coloane de sus n jos, iar la fiecare pas se actualizeaz valoarea care trebuie adaugat :
K1 ; pentru j1, n execut pentru i1, n execut a[j,i] k; kk+1; sfrit pentru sfrit pentru

function palindrom(n:longint):integer; var nr,i:integer; s:string; begin nr:=1; 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;

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