Teza nr 4

50p Nr. I

1) Scrieţi programul C++ corespunzător algoritmului dat. (12p.)

 

citeşte x (număr natural nenul)

z 0

repetă

c x%10

│ ┌dacă c%20 atunci

│ │ zz*10+c-1

│ │altfel

│ │ zz*10+c

│ └■

x [x/10]

până când x = 0

scrie z

 

 

2) Scrieţi programul C++ corespunzător algoritmului dat. (12p.)

 

 

citeşte n (număr natural nenul)

k9

pentru i1,n execută

citeşte x (număr. natural)

c [x/10]%10

│ ┌dacă c<k atunci

│ │ kc

│ └■

└■

scrie k

 

 

  1. Fişierul text bac.txt conţine, pe o singură linie, cel puţin 2 şi cel mult 100 de numere naturale nenule distincte de cel mult 4 cifre fiecare, numerele fiind separate prin câte un spaţiu. Scrieţi un program C++ care citeşte toate numerele din fişier şi scrie pe ecran ultima cifră a produsului celor mai mari două numere dintre cele citite.

Exemplu: dacă fişierul bac.txt conţine numerele: 1017 48 312 5742 162

atunci se va afişa: 4 (ultima cifră a produsului numerelor 1017, 5742)                  (13p)

 

  1. Fişierul text numere.in are pe prima linie un număr natural n (0<n<1000) şi pe

următoarea linie n numere reale. Scrieţi un program C/C++ care citeşte numerele din fişier şi afişează pe ecran media aritmetică a numerelor aflate pe a doua linie a fişierului, care au partea întreagă formată din cel puţin două cifre.                                              (13p)


 

40p Nr. II

1) Scrieţi programul C++ corespunzător algoritmului dat. (10p)

 

citeşte n (număr natural)

s0

nr0

cât timp n0 execută

│ ┌dacă n%2=0 atunci

│ │ ss*10+n%10

│ └■

n[n/10]

└■

dacă s0 atunci

nr1

└■

scrie nr

 

2) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

 

citeşte n (număr natural nenul)

citeşte a (număr natural)

k0

pentru i2,n execută

citeşte b (număr natural)

│┌dacă a%10=b%10 atunci

││ kk+1

││altfel

││ kk-1

│└■

ab

└■

scrie k

 

  1. Pe prima linie a fişierului bac.in se află un număr natural nenul n (n1000), iar pe a doua linie a fişierului se află un şir format din n numere naturale, despărţite prin câte un spaţiu, fiecare număr fiind format din cel mult 4 cifre. Scrieţi un program C/C++ care citeşte numerele din fişier şi care afişează pe ecran mesajul DA dacă elementele pare în şir sunt în ordine crescătoare, iar cele impare sunt în ordine descrescătoare, şi mesajul NU în caz contrar.

Exemplu: dacă fişierul bac.in are conţinutul alăturat,

8

10 1133 12 331 42 1354 221 13

pe ecran se va afişa: DA                                         (10p.)

 

  1. Fişierul text numere.in conţine pe prima linie un număr natural n (0<n<1000), iar pe a doua linie n numere naturale cu cel mult 9 cifre fiecare. Scrieţi un program C/C++ care citeşte toate numerele din fişier şi afişează pe ecran, separate prin câte un spaţiu, numerele formate doar din cifre distincte şi care au exact trei cifre.

Exemplu: dacă fişierul numere.in are următorul conţinut

7

249 511 4329 2 4313 243 3562

atunci pe ecran se vor afişa numerele 249 243 (nu neapărat în această ordine). (10p.)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s