|
| # 920 Propusă de Administrator la data de 08 Februarie 2022 - 21:34:11 - pentru clasa 12 |
| ||||
| Fișierul numere.in conține cel mult 100000 de numere întregi, fiecare având cel mult doua cifre. a. Să se scrie definiția completă a unui subprogram EPrim, cu un singur parametru x, număr
natural, care returnează 1 dacă numărul este prim și 0 în caz contrar. De exemplu, pentru n = 27, se va returna 0, iar pentru 13 se returnează 1. b. Scrieți un program C++ care citește datele din numere.in și, utilizând apeluri ale subprogramului EPrim, determina
numărul prim din fișier care apare de cele mai multe ori in fișier. Programul afișează în fișierul numere.out, numărul prim determinat și numărul său de apariții, sau
mesajul „Nu exista”, daca în fișier nu se găsește niciun număr prim. Exemplu:
| |||||
| # 919 Propusă de Administrator la data de 08 Februarie 2022 - 21:31:15 - pentru clasa 12 |
| |||
| Subprogramul apcar primeşte prin intermediul parametrului s un şir cu cel mult 255 de caractere şi prin parametrul c un caracter. El returnează prin intermediul parametrului p un număr natural reprezentând numărul
de apariţii ale caracterului c în
şirul s. Scrieţi
programul care citeşte de la tastatură un şir de caractere (litere mari şi
cifre). Se cere să se determine numărul total de vocale din şirul dat, folosind
apeluri ale subprogramului apcar, definit
conform cerinţei. Exemple
: Pentru s= "VULPEA11VULPEA22" se va afisa 6 (deoarece sunt 6 vocale in şir) | ||||
| # 918 Propusă de Administrator la data de 08 Februarie 2022 - 21:28:50 - pentru clasa 12 |
| |||
| Se citesc de la tastatură două numere naturale nenule a şi b (3 < a < b) de cel mult 9 cifre fiecare. Să se determine, dacă există, un număr prim
x care aparţine intervalului închis [a,b] pentru care valoarea expresiei |b+a-2*x| este minimă. S-a folosit notaţia |m| pentru
modulul numărului m. Dacă nu există un astfel de număr, se va afişa valoarea 0,
iar dacă există mai multe, se va afişa unul dintre ele. Exemple
: pentru a=7 şi b=18,
dintre numerele prime 7, 11, 13 şi 17, se va afişa 13 deoarece |18+7-2*13|<|18+7-2*11|<|18+7-2*17|<|18+7-2*7|. Pentru rezolvarea problemei se va utiliza o
funcţie prim care primeşte prin intermediul parametrului n un număr natural
(n>1) şi stabileşte în mod eficient dacă numărul n este prim sau nu. | ||||
| # 917 Propusă de Administrator la data de 08 Februarie 2022 - 21:27:06 - pentru clasa 12 |
| ||||
| O matrice pătratica. Subprogramul sub
primeşte prin intermediul parametrului n (0<n<20) dimensiunea unei
matrice pătrate, prin intermediul parametrului a matricea de numere reale (aij
cu 1£i£n, 1£j£n) şi prin
intermediul parametrului k un număr natural nenul (1<k<=2*n). El returnează prin intermediul parametrului s
suma tuturor elementelor aij cu proprietatea că i+j=k. Scrieţi programul care citeşte de la tastatură un tablou de
numere reale cu n linii şi n coloane şi afişează suma elementelor din tablou
aflate strict deasupra diagonalei secundare a tabloului, folosind apeluri ale
subprogramului sub, definit conform
cerinţei. Exemple
:
| |||||
| # 916 Propusă de Administrator la data de 08 Februarie 2022 - 21:23:09 - pentru clasa 12 |
| ||||
| Fișierul test.in conține pe prima linie n, număr natural, n<100, și pe a doua linie maximum 100 de numere reale.
a. Să se scrie definiția completă a unui subprogram Inversez cu trei
paramentrii: v – vector cu maximum 100 de elemente, numere reale, si doi parametrii întregi: p, q - două poziții din vector, p < q <= n . Subprogramul modifică
vectorul prin inversarea elementelor între poziția p și poziția q și returnează prin același parametru vectorul modificat. (dacă v ={1, 2, 3 ,4, 5, 6), p=2, q = 5, atunci
vectorul modificat va fi: v ={1, 5, 4 ,3, 2, 6), b. Să se
scrie definiția completă a unui subprogram Stergp cu trei paramentrii: v – vector cu maximum 100 de elemente, numere reale, si doi parametrii întregi: n, p – numărul de
elemente din vector și p < n . Subprogramul modifică vectorul prin ștergerea elementului de pe poziția p și returnează prin același parametru vectorul
modificat. c. Scrieți un program C++ care citește
datele din numere.in și, folosind apeluri utile ale subprogramului Stergp, șterge elementul din mijlocul vectorului, în cazul în care acesta are un număr impar de elemente.
Folosind apeluri utile ale subprogramului Inversez, va inversa cele două jumătăți ale vectorului, apoi afișează, în numere.out vectorul modificat.
Date de ieșire Fișierul de ieșire test.out
Exemple:
| |||||
| # 915 Propusă de Administrator la data de 08 Februarie 2022 - 21:21:22 - pentru clasa 12 |
| |||||||||
| Fișierul test.in conține maximum 100000 de numere naturale. a. Să se scrie definiția completă a unui subprogram CifraMax, cu un singur
parametru n, număr natural. Subprogramul returnează cea mai mare cifră a numărului n. De exemplu, pentru n = 65706, se va returna 7. b. Scrieți un program C++ care citește numerele din
test.in și, folosind apeluri utile ale subprogramului CifraMax, scrie în fișierul test.out cifra care este maximă pentru cele mai multe numere din fișier. Dacă
există mai multe astfel de cifre, se vor afișa toate cu această proprietate, în ordine crescătoare. Proiectați un algoritm eficient din punctul de vedere al memoriei folosite și
al timpului de executare. Date de ieșire Fișierul de
ieșire test.out.
Exemple:
| ||||||||||
| # 914 Propusă de Administrator la data de 08 Februarie 2022 - 21:18:38 - pentru clasa 12 |
| ||||
| Fișierul test.in conține maximum 1000 de numere naturale. a. Să se scrie definiția completă a unui subprogram FactorPutereMax cu un singur
parametru n, număr natural. Subprogramul returnează factorul prim cu puterea cea mai mare din descompunerea în factori primi a lui n. În cazul în care există
factori primi cu puteri egale, atunci se va returna factorul cel mai mare. De exemplu, pentru n = 90 = 21 * 32 * 51, cea mai mare putere este 2, deci se va returna
factorul 3. Pentru n = 36 = 22 * 32, puterile fiind egale, se va returna factorul 3. b. Scrieți un program C++ care citește numerele din date.in și, folosind apeluri utile ale subprogramului
FactorPutereMax, scrie în fișierul test.out: pe prima linie, pentru fiecare număr citit factorul prim la puterea cea mai mare, apoi pe linia următoare cel mai mare dintre
acești factori. Date de ieșire Fișierul de ieșire test.out
Exemple:
| |||||
| # 913 Propusă de Administrator la data de 08 Februarie 2022 - 21:14:46 - pentru clasa 12 |
| |||
| În fişierul test.in se află pe prima linie un numar natural n de cel mult 9 cifre. Să se descompună numărul natural n citit din fişier în sumă de termeni distincţi (excepţie
facând primii doi care au amândoi valoarea 1) ai şirului Fibonacci, numărul termenilor din sumă trebuie sa fie minim. Se va utiliza o funcţie pentru crearea unui nou
termen al descompunerii.
Şirul lui Fibonacci, “legea creşterilor organice”, se va considera aşa cum a fost definit de către Leonardo Fibonacci:1,1,2,3,5,8…
Date de ieșire Fișierul de ieșire test.out va conține numărul de palindroame-munte generate.
Exemple: pentru n=13 se afişează
8+5 ; pentru n=23 se afişeaza
21+2. | ||||