Lista de probleme 177

Filtrare

Path C++

#3243

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.

Alphanum C++

#3252

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.

ReverseWords C++

#3269

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.

NrSecv01 C++

#4240

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.

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.

Du-te sus!