Lista de probleme 974

Filtrare

#4270 FConcat C++

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

#4271 Intercalate C++

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.

#4277 UpperLower C++

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.

#4263 ifelse

Studiind instrucțiunea if, Alinutza a aflat că ramura else se asociază celui mai apropiat if neasociat încă. Aprofundând studiul, a extras din fiecare program scris cuvintele if și else. Din neatenție a transcris greșit, pierzând asocierea corectă if else. Ajutați-o voi să aibă scrierea corectă, folosind un număr minim de modificări. O modificare înseamnă să înlocuim un cuvânt if cu else sau un cuvânt else cu if.

#4259 PalRec C++

Scrieți funcția recursivă cu antetul

int PalRec(int a[], int st, int dr)

care primind ca parametri un vector a de numere întregi și doi întregi st și dr, returnează 1 dacă secvența a[st], a[st+1], ..., a[dr] din vector este un palindrom, sau returnează 0 în caz contrar.

#4260 NrXDivImp C++

Folosind metoda Divide et Impera, scrieți funcția recursivă cu antetul

int NrXDivImp(int a[], int st, int dr, int x)

care primind ca parametri un vector a de numere întregi și trei numere întregi st, dr și x, returnează numărul de apariții ale numărului x în vectorul secvența a[st], a[st+1], ..., a[dr].

#4261 AlternDivImp C++

Folosind metoda Divide et Impera, scrieți funcția recursivă cu antetul

int AlternDivImp(int a[], int st, int dr)

care primind ca parametri un vector a de numere naturale și două numere întregi st și dr, returnează 1 dacă în secvența a[st], a[st+1], ..., a[dr] numerele impare alternează cu cele pare, sau returnează 0 dacă există cel puțin două numere alăturate de aceeași paritate.

#4262 FiboRec C++

Scrieți funcția recursivă cu antetul

int FiboRec(int x, int y)

care primind ca parametri două numere întregi x și y, returnează 1 dacă x și y și sunt doi termeni consecutivi ai șirului Fibonacci, sau returnează 0 în caz contrar.

#4253 textOJI

Scrieţi un program care să citească lungimea unei linii şi textul dat şi care să alinieze textul la stânga şi la dreapta.

#4247 Lac1

O zonă mlăştinoasă are formă dreptunghiulară, având L linii (numerotate de la 1 la L) şi C coloane (numerotate de la 1 la C). Ea este formată din celule cu latura de o unitate. O parte din acestea reprezintă uscat, iar altele reprezintă apă, uscatul fiind codificat cu 0, iar apa cu 1. Se doreşte să se obţină un drum de pe malul de nord spre cel de sud, trecând doar pe uscat. Deplasarea se poate face cu câte o celulă pe linie, pe coloană, sau pe diagonală. Celulele cu apă pot fi transformate în uscat, paraşutând într-un loc cu apă câte un ponton (o plută) de dimensiunea unei celule. Deoarece paraşutarea este periculoasă, se doreşte să avem un număr minim de paraşutări. Scrieţi un program care determină numărul minim de pontoane şi coordonatele acestora.