Lista de probleme 974

Filtrare

#1576 zona3

Se consideră o matrice cu n linii și m coloane. Spunem că o poziție este liberă dacă elementul de pe linia i și coloana j este egal cu 0 și 1 în caz contrar. Spunem despre mai multe elemente ocupate că formează o zonă, daca elementele se învecinează pe cele patru direcții (sus, jos, dreapta, stânga).

Calculați pentru fiecare zonă numărul de elemente și afișați noua matricea formată prin înlocuirea elementelor egale cu 1 cu numărul de elemente pe care îl are zona din care face parte elementul respectiv.

#1388 Colecție C++

Ajută-mă, te rog!”, spune Dudu. El vă cere să aflați care este numărul de vederi unice din colecția sa.

Olimpiada de Informatica, etapa pe Scoala, CNITV

#1544 Muzical C++

Gigel în timp ce așteptă să meargă la doctor se joacă cu noul lui telefon. A observat ca atunci când este pe ecranul de start și apasă pe o tastă numerică se aude o notă muzicală.

Dar lui i-a venit ideea să codeze fiecare notă muzicală în acest mod:

  • Nota do1 cu numărul 0
  • Nota re cu numărul 1
  • Nota mi cu numărul 2
  • Nota fa cu numărul 3
  • Nota sol cu numărul 4
  • Nota la cu numărul 5
  • Nota si cu numărul 6
  • Nota do2 cu numărul 7

El creează un cântec, ia notele muzicale și le codează ca mai sus, le adună, iar apoi împarte suma la 8 și restul rămas este nota maximă.

Ajutați-l pe Gigel sa afle nota maximă!

#1539 apartenenta C++

Scrieţi în limbajul C/C++ definiţia completă a subprogramului apartenenta, care primeşte ca argument un număr natural nenul n şi returnează valoarea 1 dacă n aparţine mulţimii \(\scriptsize H = \{ 2^x \cdot 3^y \cdot 5^z \, | \, x, y, z \in N \}\), respectiv 0 în caz contrar.

#1538 SudEst

Fermierul Ion deţine un teren de formă pătrată, împărţit în NxN pătrate de latură unitate, pe care cultivă cartofi. Pentru recoltarea cartofilor fermierul foloseşte un robot special proiectat în acest scop. Robotul porneşte din pătratul din stânga sus, de coordonate (1,1) şi trebuie să ajungă în pătratul din dreapta jos, de coordonate (N, N). Traseul robotului este programat prin memorarea unor comenzi pe o cartelă magnetică. Fiecare comandă specifică direcţia de deplasare (sud sau est) şi numărul de pătrate pe care le parcurge în direcţia respectivă. Robotul strânge recolta doar din pătratele în care se opreşte între două comenzi.

Din păcate, cartela pe care se află programul s-a deteriorat şi unitatea de citire a robotului nu mai poate distinge direcţia de deplasare, ci numai numărul de paşi pe care trebuie să-i facă robotul la fiecare comandă. Fermierul Ion trebuie să introducă manual, pentru fiecare comandă, direcţia de deplasare.

Scrieţi un program care să determine cantitatea maximă de cartofi pe care o poate culege robotul, în ipoteza în care Ion specifică manual, pentru fiecare comandă, direcţia urmată de robot. Se va determina şi traseul pe care se obţine la recolta maximă.

#1536 Ecuatii

Să considerăm ecuaţii de gradul I, de forma: expresie_1=expresie_2. Expresiile specificate sunt constituite dintr-o succesiune de operanzi, între care există semnul + sau semnul - (cu semnificaţia binecunoscută de adunare, respectiv scădere). Fiecare operand este fie un număr natural, fie un număr natural urmat de litera x (litera x reprezentând necunoscuta), fie doar litera x (ceea ce este echivalent cu 1x).

De exemplu: 2x-5+10x+4=20-x. Observaţi că în ecuaţiile noastre nu apar paranteze şi necunoscuta este întotdeauna desemnată de litera mică x.

Scrieţi un program care să rezolve ecuaţii de gradul I, în formatul specificat în enunţul problemei.

#1511 FCautareRec C++

Scrieţi definiția completă a unei funcții C++ recursive care are ca parametri un număr natural n, un șir crescător X de numere reale având n elemente și un număr real v și care returnează poziția pe care apare în șir valoarea v. În cazul în care v nu apare în șir, se va returna valoarea -1. În cazul în care v apare în șir pe mai multe poziții, se va returna una dintre acestea.

#1510 FCautare C++

Scrieţi definiția completă a unei funcții C++ care are ca parametri un număr natural n, un șir crescător X de numere reale având n elemente și un număr real v și care returnează poziția pe care apare în șir valoarea v. În cazul în care v nu apare în șir, se va returna valoarea -1. În cazul în care v apare în șir pe mai multe poziții, se va returna una dintre acestea.

#1509 NrMaxim C++

Să se scrie o funcție care are ca parametru un număr natural n și returnează cel mai mare număr care poate fi obținut mutând, pe rând, prima cifră a numărului n și a celor obținute pe parcurs, pe ultima poziție. Nu se vor folosi șiruri de caractere și tablouri auxiliare.

#1507 grupuri

Scrieți un program care, pentru o matrice pătratică dată, determină câte grupuri conţine.