Lista de probleme 27

Filtrare

Se dă un tablou cu n elemente, numere naturale. Să se înlocuiască fiecare element din tablou care nu este număr prim cu cel mai mic număr prim, mai mare decât el.

Se vor defini și apela următoarele subprograme:

  • citire, care citește de la tastatură valoarea lui n și cele n elemente ale tabloului
  • afisare, care afișează pe ecran elementele tabloului, separate prin exact un spațiu
  • prim, care verifică dacă un număr natural este prim
  • urmatorul_prim, care determină pentru un număr dat cel mai mic număr prim, mai mare decât acesta, folosind subprogramul prim
  • inloc, care realizează înlocuirile cerute.

În programele C/C++ nu se vor folosi variabile globale.

Scrieți un program care citește de la tastatură două numere naturale din intervalul [2,50], n și m, și elementele unei matrici cu n linii și m coloane, numere naturale distincte din intervalul [0,104].

Programul interschimbă elementele de pe coloana pe care se află valoarea minimă cu elementele de pe coloana pe care se află valoarea maximă din matrice, apoi pe ecran matricea modificată, câte o linie a matricii pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spațiu.

Pentru un număr natural x mai mare decât 1 numim redusul lui x cel mai mic număr natural care are exact aceiași divizori primi ca și x.

Se dă un tablou cu n elemente, numere naturale mai mari decât 1. Să se înlocuiască fiecare element din tablou cu redusul său și apoi să afișeze elementele din tabloului ordonate descrescător.

Se vor defini și apela următoarele subprograme:

  • citire, care citește de la tastatură valoarea lui n și cele n elemente ale tabloului
  • afisare, care afișează pe ecran elementele tabloului, separate prin exact un spațiu
  • redus, care determină pentru un număr dat redusul său
  • sortare, care sortează descrescător un tablou
  • inloc, care realizează înlocuirile cerute.

În programele C/C++ nu se vor folosi variabile globale.

Se dă un tablou cu n elemente, numere naturale mai mari decât 1. Să se înlocuiască fiecare element din tablou cu cel mai care divizor comun al său cu oglinditul său și apoi să afișeze elementele din tabloului de la dreapta la stânga.

Se dă un tablou cu n elemente, numere naturale mai mari decât 1. Să se înlocuiască fiecare element din tablou cu produsul dintre suma divizorilor și numărul de divizori ai săi și apoi să afișeze elementele din tabloului de la dreapta la stânga.

Scrieți un program care citește de la tastatură două numere naturale din intervalul [2,50], n și m, și elementele unei matrici cu n linii și m coloane, numere naturale distincte din intervalul [0,104].

Programul interschimbă elementele de pe linia pe care se află valoarea minimă cu elementele cu linia pe care se află valoarea maximă din matrice, apoi afișează pe ecran matricea modificată, câte o linie a matricii pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spațiu.

Se dă un tablou cu n elemente, numere naturale. Să se elimine din tablou toate elementele care sunt palindrom.

Se vor defini și apela următoarele subprograme:

  • citire, care citește de la tastatură valoarea lui n și cele n elemente ale tabloului
  • afisare, care afișează pe ecran elementele tabloului, separate prin exact un spațiu
  • palindrom, care verifică dacă un număr dat ca parametru este palindrom
  • eliminare, care elimină din tablou un element a cărui poziție este dată ca parametru.

În programele C/C++ nu se vor folosi variabile globale.

Se dă un vector cu n elemente numere întregi, n fiind număr par. Să se ordoneze crescător elementele din prima jumătate a vectorului și descrescător elementele din a doua jumătate.

Se vor defini și apela următoarele subprograme:

  • citire, care citește valoarea lui n și cele n elemente ale tabloului
  • afisare, care afișează elementele tabloului, separate prin exact un spațiu
  • sortare, care ordonează elementele vectorului cuprinse între doi indici transmiși ca parametru. Criteriul de ordonare (crescător/descrescător) va fi transmis ca parametru.

În programele C/C++ nu se vor folosi variabile globale.

Se dă o matrice pătratică cu n linii și n coloane și elemente numere naturale. Să se afișeze indicii liniilor pentru care suma elementelor este număr par.

Se va defini și folosi subprogramul suma, cu 3 parametri:

  • x – matricea
  • n – dimensiunea matricei
  • p – un număr natural, 1 ≤ p ≤ n

care va returna suma elementelor de pe linia p a matricei x.

Se dă o matrice pătratică cu n linii și n coloane, numerotate de la 1 la n și elemente numere naturale. Să se determine suma elementelor aflate strict deasupra diagonalei secundare a matricei.

Se va defini și folosi subprogramul sub, cu 3 parametri:

  • n – dimensiunea matricei
  • x – matricea
  • k – un număr natural, 1 < k ≤ 2*n

care va returna suma tuturor elementelor aij din matrice pentru care i + j = k.