Lista de probleme 571

Filtrare

Dificultate

Operații intrare/ieșire

Se citeste un număr natural l și un șir de cel mult 10000 de caractere ce conține cuvinte despărțite între ele prin cate un spațiu. Fiecare cuvânt din șirul de caractere citit este format din cel mult l litere mari ale alfabetului englez. Să se scrie un program care afișează aceste cuvinte, în ordinea în care se citesc, pe linii de cel mult l caractere, astfel încât orice linie începe și se termină cu un cuvânt și oricare două cuvinte de pe aceeași linie sunt separate printr-un singur spațiu. Oricare linie este folosită la maxim, adică dacă un cuvânt are loc pe acea linie va fi pus acolo și nu va fi trecut pe linia următoare sau spart pe 2 linii.

#2680 Poezie

Se citește un număr n, și n versuri dintr-o poezie. Fiecare vers ocupă un rând și conține litere mari și mici ale alfabetului englez, spații, și semne de punctuație . , ! ?. Să se elimine din fiecare vers toate semnele de punctuație, mai puțin cel aflat la final.

#2678 FormNr

Se dă un șir de caractere ce conține litere, cifre, semne de punctuație, spații și alte simboluri ASCII. Cifrele din șir formează numere, scrise în baza 10. Să se determine suma acestor numere.

#2673 SwapCuv

Se dă un şir de caractere care conține cuvinte formate din litere mici și mari ale alfabetului englez. Cuvintele sunt separate prin orice caractere imprimabile care nu sunt litere (c codurile ASCII mai mari sau egale cu 32). Să se afișeze cuvintele pe cate o linie în felul următor:

Primul
Ultimul
Al Doilea
Penultimul
...

#2674 IncDecRec C++

Scrieți funcția recursivă IncDecRec care primind ca parametru un număr natural n, returnează numărul obținut din n prin scăderea cu 1 a fiecărei cifre impare și creșterea cu 1 a fiecărei cifre pare.

#2650 books

Books

Eroul nostru, Căldărușe, are un număr n de cărți pe care le are aranjate una peste cealaltă (sub forma unui stack). Cartea din vârf are valoarea \( {a}_{1} \), următoarea \( {a}_{2} \) și așa mai departe. Cartea de la bază are indicele n (\( {a}_{n} \)). Toate numerele sunt distincte.

Căldărușe vrea să mute toate cărțile în ghiozdanul lui în exact n pași. În timpul pasului de ordin i, el vrea să mute cartea cu numărul \( {b}_{i} \) în ghiozdan. Dacă această carte se află în stack, el o ia atât pe ea, cât și toate cărțile situate deasupra acesteia și le pune în ghiozdan; în caz contrar, el nu va face nimic și va trece la următorul pas. De exemplu, dacă în stack cărțile sunt aranjate în ordinea [1, 2, 3] (cartea cu numărul 1 este aflată în vârf) și pașii prin care Căldărușe trece sunt, în această ordine, [2, 1, 3], atunci în cadrul primului pas el va muta două cărți (1 și 2), în cadrul celui de-al doilea pas nu va face nimic (din moment ce cartea cu numărul 1 este deja în ghiozdan) și în cadrul ultimului pas va muta o singură carte (cartea cu numărul 3).

Cerința

Ajutați-l pe Căldărușe! Spuneți-i voi numărul de cărți pe care le va pune în ghiozdan în timpul fiecărui pas.

Dată fiind o matrice dreptunghiulară cu elemente 0 şi 1, care este aria maximă a unui dreptunghi format numai din elemente egale cu 1?

#2666 Trim C++

Scrieți funcția Trim care primește ca parametru un șir de caractere s, elimină eventualele spații de la începutul și sfârșitul șirului și returnează tot prin intermediul lui s șirul de caractere rezultat.

#2664 Search C++

Definiți următoarele funcții:

Funcția IndexOf primește ca parametri un șir de caractere s și un caracter ch și returnează cea mai din stânga poziție unde se găsește ch și șir, sau returnează -1 dacă ch nu apare în șir.

Funcția LastIndexOf primește ca parametri un șir de caractere s și un caracter ch și returnează cea mai din dreapta poziție unde se găsește ch și șir, sau returnează -1 dacă ch nu apare în șir.

Funcția NthIndex primește ca parametri un șir de caractere s, un caracter ch și un număr întreg k. Presupunând că ch apare de n ori în șir, atunci, dacă 1 ≤ k ≤ n, funcția returnează poziția unde caracterul ch apare a k-a oară. În caz contrar, funcția returnează -1.

#2663 Divisors C++

Trebuie să definiți trei funcții:

Funcția NrDiv primește ca parametru un număr natural n și returnează numărul divizorilor lui n
Funcția NextNrDiv primește ca parametru un număr natural n și returnează cel mai mic număr natural, strict mai mare decât n, care are același număr de divizori ca și n.
Funcția PrevNrDiv primește ca parametru un număr natural n și returnează cel mai mare număr natural, strict mai mic decât n, care are același număr de divizori ca și n. Dacă acest număr nu există, funcția va returna valoarea -1.