Pagina informaticii

Teste de informatică pentru liceu, articole C#, C/C++, PHP

Teză clasa a IX-a semestrul II - vectori și fișiere

Rândul 1
Notă: Fiecare cerință valorează 1.5 puncte. Se acordă 1 punct din oficiu.

Fișierul text numere.in conține pe prima linie un număr natural n (n <= 1000), iar pe linia a doua, separate prin spații, se află exact n numere întregi. Scrieți un singur program care rezolvă următoarele cerințe (pentru fiecare cerință de mai jos, pentru a obține punctaj maxim, trebuie să parcurgeți o singură dată vectorul):
1. Memorați într-un vector cele n numere întregi
2. Afișați la ecran numărul de valori strict pozitive și numărul de valori strict negative din vector
3. Afișați la ecran valoarea maximă din vector
4. Afișați la ecran lungimea maximă a unei secvențe crescătoare din vector
5. Eliminați din vector toate valorile mai mici sau egale cu 0. Veți afișa apoi la ecran vectorul rămas.
6. Determinați numărul secvențelor din vectorul rămas care au suma mai mare sau egală cu 20.

Exemplu:
numere.in
10
3 -5 4 6 6 17 -4 0 0 2
Se va afișa la ecran:
Valori pozitive: 6
Valori negative: 2
Valoarea maximă: 17
Lungimea maximă a unei secvențe crescătoare: 5 (este secvența -5 4 6 6 17)
Vectorul rămas: 3 4 6 6 17 2
Numărul secvențelor: 8
(aceste secvențe sunt: 3 4 6 6 17, 3 4 6 6 17 2, 4 6 6 17, 4 6 6 17 2, 6 6 17,
6 6 17 2, 6 17, 6 17 2, dar nu trebuie afișate aceste secvențe, ci doar numărul lor!)

Rândul 2
Notă: Fiecare cerință valorează 1.5 puncte. Se acordă 1 punct din oficiu.

Fișierul text date.in conține un număr neprecizat de numere naturale, separate prin spații. Scrieți un singur program care rezolvă următoarele cerințe (pentru fiecare cerință de mai jos, pentru a obține punctaj maxim, trebuie să parcurgeți o singură dată vectorul):
1. Memorați valorile din fișier într-un vector
2. Afișați la ecran numărul n al elementelor vectorului, precum și numărul de valori pare și numărul valorilor impare din vector.
3. Afișați la ecran lungimea maximă a unei secvențe alternante din vector (unde prin secvență alternantă înțelegem o secvență în care valorile pare alternează cu cele impare)
4. Determinați numărul secvențelor din vector care au suma mai mare sau egală cu 35.
5. Verificați dacă vectorul este palindrom sau nu. Veți afișa unul din mesajele: Este palindrom sau Nu este palindrom.
6. Inserați după fiecare valoare 0 din tablou valoarea 100 și afișați apoi tabloul.

Exemplu:
date.in
5 0 7 9 9 7 0 5
Se va afișa la ecran:
Număr elemente din vector: 8
Număr valori pare: 2
Număr valori impare: 6
Lungimea maximă a unei secvențe alternante: 3 (este secvența 5 0 7 sau secvența 7 0 5)
Numărul secvențelor: 5
(aceste secvențe sunt: 5 0 7 9 9 7, 5 0 7 9 9 7 0, 5 0 7 9 9 7 0 5, 0 7 9 9 7 0 5,
7 9 9 7 0 5 dar nu trebuie afișate aceste secvențe, ci doar numărul lor!)
Este palindrom
Tabloul după inserare: 5 0 100 7 9 9 7 0 100 5

Despre autor
Author

Dan Pracsiu deţinător www.dponline.ro
Profesor, Liceul Teoretic "Emil Racoviță" Vaslui
Membru în Comisia Naţională a Olimpiadelor de Informatică
Pasiuni: istoria, călătoriile, fotografia, muzica clasică

Scrie un comentariu
Nume:

Comentariu:

15 + 10 =