|
| # 936 Propusă de Administrator la data de 08 Februarie 2022 - 22:29:40 - pentru clasa 12 |
| ||||
| Se consideră un text cu cel mult 50 de caractere (litere mici ale alfabetului englez și spații), în care cuvintele sunt separate prin câte un singur spațiu. Înaintea primului
cuvânt și după ultimul cuvânt nu există spații. Scrieți un program C/C++ care
citește de la tastatură un text t de
tipul menționat mai sus și o literă mică c.
Programul determină dublarea fiecărei litere c în șirul t și afișează
pe ecran numărul de modificari realizate în textul t, iar pe următoarea linie
textul t modificat în memorie. Exemple
:
| |||||
| # 935 Propusă de Administrator la data de 08 Februarie 2022 - 22:27:16 - pentru clasa 12 |
| ||||
| Scrieți definițiile complete ale următoarelor două subprograme: • Subprogramul nrpare_p are doi
parametri, prin care primește: n, un număr natural din intervalul [2, 100]; a, un tablou bidimensional cu n linii și n coloane de numere naturale din
intervalul [0, 103]; Subprogramul returnează numărul elementelor pare situate pe diagonala principală a tabloului a sau valoarea -1
dacă diagonala nu conține valori pare. • Subprogramul nrpare_s are doi parametri, prin care primește: n, un număr natural din intervalul [2, 100]; a, un tablou bidimensional cu n linii și n coloane de numere naturale din intervalul [0, 103 ]; Subprogramul returnează numărul elementelor pare situate pe diagonala secundară a tabloului a sau -1 dacă diagonala nu conține valori pare. b. Fișierul matrice.in conține pe prima linie un număr natural n (2 ≤ n ≤ 100), iar pe următoarele n linii câte n numere naturale din intervalul [0,103], separate prin câte un spațiu. Scrieți un program care să citească din fișier n apoi cele n*n elemente ale unui tablou bidimensional și să afișeze pe ecran numărul valorilor impare situate pe cele două diagonale ale tabloului. Pentru afișarea valorii cerute se folosesc apeluri utile ale subprogramelor nrpare_p și nrpare_s. Dacă nu există nicio valoare impară pe diagonale atunci pe ecran se afișează mesajul nu exista. Exemple
:
| |||||
| # 934 Propusă de Administrator la data de 08 Februarie 2022 - 22:25:30 - pentru clasa 12 |
| ||||
| În fișierul atestat.in, pe prima linie se află două numere n și m (2 ≤ n, m ≤ 200) reprezentând numărul de linii, respectiv de coloane ale unui tablou bidimensional, iar pe
următoarele n linii se află câte m numere naturale de maxim 9 cifre, ce reprezintă elementele tabloului. Se consideră subprogramul
interschimbL cu patru parametri: • a, reprezentând un tablou bidimensional cu cel mult 200 de linii și 200 de coloane; • m, reprezentând numărul de coloane, • k1 și k2, două numere naturale, reprezentând numărul de ordine a două linii din tablou. Subprogramul interschimbă elementele de pe linia k1 cu elementele de pe linia k2. a. Scrieți definiția completă a subprogramului interschimbL; b. Scrieți un program care citește din fișierul atestat.in numerele n și m, apoi tabloul bidimensional cu n*m elemente și, folosind apeluri utile ale subprogramului interschimbL, schimbă între ele elementele liniei pe care apare prima dată valoarea minimă din tablou cu elementele liniei pe care apare prima data valoarea maximă. Tabloul modificat se va scrie în fișierul atestat.out, fiecare linie a tabloului se va scrie pe o linie din fișier, iar elementele de pe aceeași linie vor fi separate printr-un spațiu. Dacă cele două valori apar pentru prima data pe aceeași linie, tabloul nu va fi modificat. Exemple :
| |||||
| # 933 Propusă de Administrator la data de 08 Februarie 2022 - 22:22:56 - pentru clasa 12 |
| ||||
| În fișierul test.in, pe prima linie se află un număr n (2 ≤ n ≤ 20), reprezentând numărul de linii și de coloane ale unui tablou bidimensional si un număr natural k (1 ≤ k ≤ n),
iar pe următoarele n linii se află câte n numere naturale de maxim 6 cifre, ce reprezintă elementele tabloului. Scrieți
un program care citește din fișierul test.in
numerele n si k, tabloul bidimensional cu n*n elemente și afișează în fișierul atestat.out indicii liniilor (diferite
de k) care au cel puțin un element comun cu linia k a tabloului. Liniile și
coloanele tabloului au indicii de la
1 la n.
Valorile se vor afișa pe prima linie a fișierului de ieșire, separate prin
exact un spațiu. Exemple :
| |||||
| # 932 Propusă de Administrator la data de 08 Februarie 2022 - 22:20:35 - pentru clasa 12 |
| ||||
| Numar minim Se citesc din fişierul test.in două numere naturale a şi b cu cel mult 9 cifre fiecare. Scrieţi
programul C/C++ care scrie în fişierul numere.out
cel mai mic număr natural care se poate forma cu toate cifrele celor două
numere citite. Exemple :
| |||||
| # 931 Propusă de Administrator la data de 08 Februarie 2022 - 22:19:20 - pentru clasa 12 |
| ||||
| Modificare matrice. Scrieţi programul C/C++ care citeşte de pe prima
linie a fişierului test.in un număr
natural n iar de pe următoarele n linii o matrice cu n linii şi n
coloane conţinând numere naturale şi modifică matricea în felul următor: toate
elementele liniilor care conţin valoarea maximă vor fi mărite cu valoarea
minimă din matrice. Scrieţi în fişierul test.out
matricea astfel obţinută. Exemple :
| |||||
| # 930 Propusă de Administrator la data de 08 Februarie 2022 - 22:17:28 - pentru clasa 12 |
| ||||
| Fişierul test.in conţine pe prima linie, două numere naturale n şi m separate printr-un spaţiu, 2 ≤ n, m≤ 100, iar pe următoarele două linii, separate prin câte un spaţiu, în
ordinea strict crescătoare, elementele a două mulţimi de numere naturale . Scrieţi programul C/C++ care scrie
în fişierul test.out, în ordine
strict crescătoare, elementele reuniunii celor două mulţimi Exemple :
| |||||
| # 929 Propusă de Administrator la data de 08 Februarie 2022 - 22:16:02 - pentru clasa 12 |
| ||||
| Pe prima linie a fişierului test.in se găseşte un număr natural n, n ≤ 100, iar a doua linie conţine un şir cu n numere naturale cu cel mult nouă cifre fiecare, separate prin cate
un spaţiu. Scrieţi programul
C/C++ care scrie în fişierul test.out
toate numerele din şir pentru care suma cifrelor este divizibila cu 3. Se va
folosi o funcţie recursive suma_cifre
care calculează şi returnează suma cifrelor parametrului de intrare x Exemple :
| |||||