Lista de probleme 174

Filtrare

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

#4706 Peak C++

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.

#3802 MinLexSwap C++

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

#3941 CountSumS C++

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

#2666 Trim C++

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.

#4205 SecvSumS C++

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.

#1508 Element_SA C++

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.

#3621 FMBSorted C++

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.

#2997 prescurtat C++

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

void Prescurtat(char s[])

Funcția primește ca parametru un text de cel mult 50 de caractere, alcătuit din cuvinte separate prin câte un spațiu și formate din litere mari ale alfabetului englez, urmate eventual de caracterul . (punct), dacă sunt scrise prescurtat. Textul reprezintă numele unei instituții de învățământ și doar cuvintele din mulțimea {COLEGIUL, LICEUL, NATIONAL, TEORETIC} pot fi prescurtate, eliminându-se ultimele lor litere. Funcția va returna tot prin intermediul parametrului s numele instituției scris fără prescurtări.

#4218 MatrixHasYou C++

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.