Lista de probleme 974

Filtrare

#840 Croco

Se dă o matrice cu n linii și m coloane și elemente 0 sau 1, care reprezintă harta unui lac, în care 1 înseamnă uscat, iar 0 înseamnă apă.

Să se plaseze pe fiecare zonă cu uscat un crocodil sau un elefant astfel încât să nu fie două animale din aceeași specie în zone învecinate.

#1337 Susan C++

Eroul nostru Susan se află într-un turn de formă cubică, de latură n. El dorește să ajungă la comoara ascunsă în interiorul turnului. Din fericire, Susan a făcut rost de o hartă care îi indică cu exactitate coordonatele locului în care se află comoara din turn. Eroul nostru vrea să știe care este distanța minimă pe care o poate parcurge pentru a ajunge la comoară.

#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ă!

Se citește un text. Se cere criptarea acestuia folosind Encripția XOR.

#2823 CifreImpare C++

Subprogramul cifreImpare are un singur parametru, n, prin care primește un număr natural cu toate cifrele nenule (n∈[1,109]). Subprogramul returnează numărul obținut prin eliminarea tuturor cifrelor impare din n, respectiv -1 dacă nu există astfel de cifre sau dacă toate cifrele lui n sunt impare.

Scrieți definiţia completă a subprogramului.

#2732 Succesor C++

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

void Succesor(int a[], int n, int k)

Vectorul a memorează, în ordine strict crescătoare, k numere naturale din mulțimea {1,2,...,n}. Funcția va trebui să obțină tot în vectorul a următoarea submulțime de k elemente din punct de vedere lexicografic.

#808 Mutare C++

Scrieţi definiția completă a subprogramului C++ sub care are 3 parametri: n – prin care primește un număr natural, v, prin care primeşte un tablou unidimensional cu n elemente, numere naturale cu cel mult 4 cifre și x, prin care primeşte un număr natural. Cel puțin un element al tabloului v are valoarea x.

Subprogramul modifică ordinea valorilor din tablou, astfel încât toate valorile egale cu x să ocupe primele poziţii din v, iar celelalte valori să se regăsească în continuarea acestora, în ordinea inițială. Tabloul modificat este furnizat tot prin parametrul v.

Să se scrie o funcție C++ recursivă care afișează pe ecran, în ordine inversă, elementele unui vector transmis ca parametru.

#964 cod

Pentru codificarea textului unui mesaj s-a folosit codificarea ASCII, asociindu-se literelor mari ale alfabetului englez numerele distincte de la 65 la 90, literelor mici ale alfabetului englez numerele distincte de la 97 la 122, spaţiului numărul 32, iar punctului (.) numărul 46.

Fiecare linie a mesajului ce urmează a fi codificat, are cel mult 80 de caractere, textul lui fiind format din cuvinte separate printr-un singur spaţiu sau printr-un singur punct, iar cuvintele sunt formate numai din litere ale alfabetului

Codificarea textului mesajului este realizată astfel: fiecare cuvânt din text se scrie în ordine inversă, înlocuindu-se fiecare caracter cu şirul rezultat prin scrierea în ordine inversă a codului asociat acestuia. De exemplu codificarea caracterului z este şirul 221. Aceeaşi regulă de codificare se aplică atât spaţiului cât şi punctului.

Textul rezultat în urma codificării va conţine doar cifre, fără spaţii şi fără simboluri de punctuaţie.

să se scrie un program care să citească codificarea textului unui mesaj, să decodifice textul şi să afișeze

Olimpiada de Informatică, etapa pe sector, Bucureşti, 2007

#2830 DivImpar C++

Subprogramul DivImpar are doi parametri, a și b, prin care primește două numere naturale din intervalul [1,105]. Subprogramul returnează cel mai mare divizor comun impar al numerelor a și b.

Scrieți definiția completă a subprogramului.