Lista de probleme 170

Filtrare

Se dă un vector cu n elemente, numere naturale, și un număr k, divizor al lui n. Se împarte vectorul în k secvențe disjuncte, numerotate de la 1 la k. Să se permute circular cu o poziție spre stânga elementele din fiecare dintre cele k secvențe și să se afișeze pe ecran vectorul rezultat în urma acestor modificări.

#3104 B_Egal C++

Subprogramul Egal are un parametru, n, prin care primește un număr natural cu cel puțin o cifră impară. Subprogramul returnează valoarea 1 dacă toate cifrele impare ale lui n sunt egale între ele sau valoarea 0 în caz contrar.

Scrieți definiția completă a subprogramului.

Se dă un vector cu n elemente, numere naturale, și un număr k, divizor al lui n. Se împarte vectorul in secvențe disjuncte de lungime k. Să se oglindească elementele (primul element din secvență se interschimbă cu ultimul, al doilea cu penultimul, etc.) din fiecare dintre cele n/k secvențe și să se afișeze pe ecran vectorul rezultat în urma acestor modificări.

Scrieți definiția completă unui subprogram C++ care realizează ștergerea dintr-un tablou unidimensional dat a elementelor cu indici între două valori date.

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.

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.

#2995 Finserare C++

Scrieți funcția inserare care primește ca parametru un număr natural n și furnizează prin intermediul aceluiași parametru numărul obținut din n prin inserarea, între oricare două cifre alăturate ale sale, a valorii absolute a diferenței acestora.

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.

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.