Lista de probleme 991

Filtrare

#4704 MajorImpar C++

Subprogramul majImp are doi parametri, a și b, prin care primește câte un număr natural (2 ≤ a ≤ b ≤ 10.000). Subprogramul returnează cel mai mic număr major impar din intervalul [a,b], sau valoarea 0, dacă în interval nu există un astfel de număr. Scrieţi în C/C++ definiţia completă a subprogramului.

#4705 FulgiDeNea C++

Subprogramul Fulg are un parametru n, prin care primește un număr natural (n ∊ [0, 1.000.000.000)). Subprogramul returnează valoarea 1, dacă prin n este reprezentată o aglomerare de fulgi de nea dintre cele studiate, sau 0 în caz contrar. Scrieți în C/C++ definiția completă a subprogramului.

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

#4699 moderat C++

Subprogramul moderat are un singur parametru, n, prin care primește un număr natural (n ∈ [1, 1.000.000.000]). Subprogramul returnează valoarea 1 dacă n este un număr moderat, sau valoarea 0 în caz contrar. Scrieți definiția completă a subprogramului.

#4686 FLsiReord C++

O listă simplu înlănțuită are cheile nodurilor, în valoare absolută, ordonate crescător. Să se reordoneze nodurile astfel încât cheile să fie ordonate crescător.

#4682 FLdiErase C++

Să se scrie funcția Erase care va șterge dintr-o listă dublu înlănțuită toate nodurile care memorează numere pare. De exemplu, dacă lista reține valorile 5,3,6,2,1,8, atunci după apelul Erase(prim, ultim), lista va fi 5,3,1.

#4683 FLsiMakeList C++

Să se scrie o funcție ce va crea o listă simplu înlănțuită care să memoreze în nodurile sale cele n numere întregi din vector, în ordinea în care se află în a. Pointerul head va memora în final adresa primului nod din listă.

#4684 FLsiThird C++

Să se scrie o funcție care șterge fiecare al treilea nod dintr-o listă simplu înlănțuită.

#4685 LdiStergeAB C++

Scrieți o funcție care va șterge dintr-o listă dublu înlănțuită primul nod care memorează valoarea A și ultimul nod care memorează valoarea B.

Adrian și-a luat un elicopter. Evident, un elicopter de jucărie. Adrian se joacă cu elicopterul său pe o suprafață reprezentată de o matrice de n×m, unde se află turnuri. Fiecare turn se află în celula reprezentată de indicii i și j, având înălțimea h[i][j]. În jocul său, Adrian dorește să piloteze elicopterul său. Inițial, elicopterul este ridicat în aer la o anumită înălțime, și poziționat într-o celulă aflată pe prima coloană. Pe parcursul jocului, elicopterul este menținut la înălțimea inițială. La fiecare pas, elicopterul se poate muta în una din celulele învecinate pe linie sau pe coloană, în stânga, dreapta, sus sau jos, doar dacă înălțimea turnului nu este mai mare decât înălțimea la care se află elicopterul. Jocul se termină când elicopterul ajunge într-o celulă aflată pe ultima coloană.

Să se determine cea mai mică valoare a înălțimii la care trebuie ridicat elicopterul, astfel încât acesta să poată ajunge pe o celulă aflată pe ultima coloană.

Concursul Interjudeţean de Matematică şi Informatică Sever Aurel Groze, 2024