Lista de probleme 179

Filtrare

FBaza C++

#4268

Scrieți funcția cu următorul antet:

int FBaza(const char s[])

Parametrul s memorează un șir de caractere. Funcția trebuie să returneze:

  • valoarea 2 dacă s este format numai din cifre binare
  • valoarea 4 dacă s este format numai din cifre mai mici decât 4
  • valoarea 8 dacă s este format numai din cifre mai mici decât 8
  • valoarea 10 dacă s este format numai din cifre zecimale
  • valoarea 16 dacă s este format numai din cifre zecimale și litere din mulțimea {A, B, C, D, E, F} sau {a, b, c, d, e, f}
  • valoarea -1 dacă s mai conține și alte caractere

FConcat C++

#4270

Să se scrie o funcție care concatenează un șir de caracterele cu un alt șir.

Intercalate C++

#4271

Scrieți funcția cu următorul antet:

void Intercalate(char a[], char b[], char c[])

Funcția primește ca parametri trei șiruri de caractere a, b și c. Inițial c este vid și se vor depune în el caracterele din a și b astfel: întâi primul caracter din a, apoi primul caracter din b, apoi al doilea caracter din a, al doilea din b și procedeul continuă până când fie se termină caracterele din a, fie caracterele din b, fie ambele. Dacă au mai rămas caractere nedepuse din a sau din b, acestea se adaugă la final în c.

UpperLower C++

#4277

Scrieți funcția cu următorul antet:

void UpperLower(const char a[], char U[], char L[])

Funcția primește ca parametri trei șiruri de caractere a, U și L. Șirul U trebuie să memoreze caracterele din a, dar în care literele mici au fost convertite la majuscule, iar șirul L trebuie să memoreze caracterele din a, dar în care literele mari au fost convertite la litere mici.

NrMinMaxAp C++

#3798

Scrieți funcția care are antetul:

int NrMinMaxAp(vector<int> &a)

Funcția va returna numărul care apare de cele mai multe ori în a. Dacă există mai multe numere care apar de număr maxim de ori, se va returna minimul dintre ele.

Folclorul informatic

Peak C++

#4706

Scrieţi definiția completă a subprogramului C++ Peak cu antetul:

void Peak(int a[], int n, int &isPeak, int &poz)

unde a este un tablou unidimensional cu maximum 1000 de numere întregi, n, numărul efectiv de elemente ale tabloului. Dacă vectorul a memorează un șir peak, atunci isPeak va fi egal cu 1, iar poz va reține poziția numărului maxim din a. Dacă vectorul a nu este un șir peak, atunci isPeak va fi egal cu 0, iar poz va reține valoarea 0.

CountNum C++

#3799

Scrieți funcția care are antetul:

vector<int> CountNum(vector<int> &a, int S)

Funcția va returna un vector care să memoreze, în ordine crescătoare, un număr cât mai mare de numere din a care au suma mai mică sau egală cu S. Dacă există mai multe soluții se va returna vectorul care are suma elementelor minimă.

Folclorul informatic

Scrieți o funcție care returnează numărul de secvențe care au între L și U litere distincte. Într-o secvență fiecare literă se va număra o singură dată.

Folclorul informatic

MinLexSwap C++

#3802

Scrieți o funcție care primește ca parametru un șir de litere mici s și va returna șirul minim lexicografic obținut prin interschimbarea a exact două litere diferite din s.

Folclorul informatic

Element_SA C++

#1508

Să se scrie o funcție C++ care are ca parametri două numere naturale n și m și o matrice A(n , m) avȃnd elemente numere întregi și returnează numărul de elemente „șa” din matrice. Un element A(i,j) din matrice se numește element „șa” dacă este maximul de pe coloana j si minimul de pe linia i sau invers.

Du-te sus!