Lista de probleme 170

Filtrare

#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.

#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.

#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.

#4239 MatDiag C++

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

int MatDiag(int a[100][100], int n)

Subprogramul returnează 1 dacă orice diagonală paralelă cu diagonala principală conține elemente identice, sau returnează 0 dacă există cel puțin o diagonală în care nu sunt toate elementele identice.

#3243 Path C++

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

int Path(const char cale[], char d[101][101])

Parametrul cale memorează un șir de caractere format din litere mici și semnul \ și reprezintă o succesiune de foldere incluse unul în altul. Funcția trebuie să memoreze fiecare folder pe câte o linie a matricei d și să returneze numărul de foldere conținute în cale.

#3252 Alphanum C++

Scrieți funcția cu antetul:

void Alphanum(char s[], char cuv[][21], int &n, int num[], int &m)

Șirul s conține cuvinte formate din litere mici, numere formate cu cifre, iar cuvintele și numerele sunt separate prin unul sau mai multe spații. Să se memoreze cuvintele în vectorul cuv și numerele în num. Numărul de cuvinte va fi reținut în n, iar numărul de numere în m.

#3269 ReverseWords C++

Scrieți funcția având următorul antet:

void ReverseWords(char s[])

Funcția primește ca parametru un șir s format din cuvinte separate prin câte un spațiu. Cuvintele sunt formate doar din litere mici. Funcția va returna, tot prin intermediul parametrului s, cuvintele în ordine inversă, separate tot prin câte un spațiu.

#4240 NrSecv01 C++

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

long long NrSecv01(const char s[])

Funcția primește ca parametru un șir format doar din 0 și 1 și returnează numărul se secvențe care conțin exact un caracter 1.

#4268 FBaza C++

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

#3938 generatoare C++

Două numere \(a\) și \(b\) sunt numite generatoare ale unui număr natural \(n\) dacă \( a \cdot b + [\frac{a}{b}] = n\) unde s-a notat cu \([c]\) partea întreagă a numărului real \(c\).

Subprogramul generatoare care are un singur parametru, \(n\) prin care primește un număr natural \((n ∈ [2, {10}^{9}])\), afișează pe ecran toate perechile distincte de numere naturale cu proprietatea că sunt generatoare ale lui \(n\) și că primul număr din pereche este par. Dacă nu există astfel de perechi, se afișează pe ecran mesajul nu exista.

Scrieți definiția completă a acestui subprogram.