Lista de probleme 177

Filtrare

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.

CountSumS C++

#3941

Scrieți funcția care are antetul:

long long CountSumS(vector<int> &a, int s)

Funcția va returna numărul de perechi (a[i], a[j]) cu i < j și a[i] + a[j] = s.

Folclorul informatic

FMBSorted C++

#3621

Scrieți definiția completă subprogramului C++ FMBSorted care are doi parametri:

  • a – o matrice pătratică având cel mult 2000 de linii și 2000 de coloane
  • n – numărul de linii și coloane ale matricei

Matricea a memorează numai valori 0 și 1 și are proprietatea că elementele de pe fiecare linie sunt sortate, adică valorile de 0 apar la începutul fiecărei liniei, iar valorile 0 la finalul fiecărei linii. Este posibil ca o linie să conțină doar valoari de 0 sau să conțină doar valori de 1.

Subprogramul FMBSorted va returna numărul maxim de valori de 1 care se găsesc pe o linie.

Trim C++

#2666

Scrieți funcția Trim care primește ca parametru un șir de caractere s, elimină eventualele spații de la începutul și sfârșitul șirului și returnează tot prin intermediul lui s șirul de caractere rezultat.

SecvSumS C++

#4205

Scrieți funcția care are antetul:

int SecvSumS(vector<int> &a, int s)

Funcția va returna lungimea minimă a unei secvențe nevide din a care are suma egală cu s. Dacă nu există nicio secvență de sumă s funcția va returna valoarea -1.

MatrixHasYou C++

#4218

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

void Matrix(int a[300][300], int n, int L[], int C[], int k)

Inițial matricea a memorează numai valori de 0. Se efectuează asupra matricei pe rând, în această ordine, operațiile L[0], C[0], L[1], C[1], L[2], C[2], …, L[k-1], C[k-1]. Operația L[i] se efectuează asupra elementelor liniei L[i] din matrice și modifică orice valoare 0 în 1 și orice valoare 1 în 0. Similar, operația C[i] se efectuează asupra elementelor coloanei C[i] din matrice și modifică orice valoare 0 în 1 și orice valoare 1 în 0. Matricea a va reține în final valorile care se obțin după efectuarea tuturor operațiilor.

Du-te sus!