#583 · Subiectul II · Programare
Cel mai mare palindrom de pe diagonalele matricei (oglindit și maxim)
✓ Rezolvare explicatăBucurești 2020 · nr. 11
Enunț
În fișierul atestat.in, pe prima linie se află un număr n (2≤n≤20), iar pe următoarele n linii câte n numere naturale cu cel mult 9 cifre, elementele unui tablou bidimensional.
Se consideră subprogramele:
oglindit, care primește prin parametrulxun număr natural (1≤x≤10⁹) și returnează valoarea obținută prin oglindirea luix. De exemplu, pentru123returnează321;maxim, cu trei parametri: matricea pătraticăa(cel mult 20 de linii și coloane), numărul efectivnde linii și coloane șip, prin care furnizează cel mai mare palindrom aflat pe una dintre diagonalele matricei, respectiv-1dacă pe diagonale nu se află niciun palindrom.
a. Scrieți definiția completă a subprogramului oglindit.
b. Scrieți definiția completă a subprogramului maxim.
c. Scrieți programul care citește datele din atestat.in și scrie în atestat.out, folosind apeluri utile ale subprogramelor oglindit și maxim, cel mai mare palindrom de pe una dintre diagonalele matricei, iar dacă nu există, mesajul nu exista.
Exemple
atestat.in |
atestat.out |
Explicații |
|---|---|---|
39 7 2133 8 222 3 10 |
22 |
Pe diagonale sunt 9, 8, 10 și 21, 8, 22; palindroame: 9, 8, 22 |
Rezolvare
Exersează mai departe
Probleme cu aceeași tehnică
#579ProgramareEliminarea coloanei cu k elemente formate doar din cifre impare#581ProgramareNumărul prim cu cele mai multe cifre pare dintr-o matrice (prim și contorizare recursiv)#582ProgramareMedia numerelor prime din șirul lui Fibonacci aflate într-o matrice (fibo și divprim)#045ProgramareSă se afişeze indicii coloanelor care au toate elementele impare#048ProgramareSă se afişeze cel mai mare element din matrice şi poziţiile pe care apare#049ProgramareSă se afişeze cel mai mic element din matrice şi poziţiile pe care apare