Pagina informaticii

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

Teză – şiruri de caractere, struct, stiva

1. Se consideră un text de lungime maximă 255. Scrieţi secvenţe de instrucţiuni pentru rezolvarea următoarelor cerinţe:
a. Fără a folosi funcţia strlen, determinaţi lungimea logică a şirului.
b. Să se determine numărul cifrelor care apar în şir.
c. Să se convertească toate literele mici în litere mari.
d. Să se determine litera mare care apare cel mai des în şir.
e. Să se elimine din şir toate apariţiile caracterului ‘?’

2. Un număr complex poate fi privit ca un cuplu de forma (re, im), unde re şi im sunt partea reală respectiv partea imaginară a numărului complex re + i*im.
a. Definiţi un tip de dată struct necesar memorării numerelor complexe.
b. Scrieţi secvenţa care citeşte părţile reale şi imaginare a două numere complexe şi realizează suma lor.
c. Să se calculeze modulul unui număr complex.
d. Definiţi un vector de numere complexe. Citiţi şi memoraţi n numere complexe în acest tablou. Determinaţi apoi numărul complex de modul maxim.

3. În fişierul numere.in pe prima linie se află un număr natural n, iar pe a doua linie se află un şir de n numere naturale separate prin câte un spaţiu. Utilizând o stivă de lungime maximă 1000 şi utilizând operaţiile PUSH şi POP specifice stivei, introduceţi în stivă şi extrageţi din stivă şirul de numere din fişier după regulile următoare (considerăm că tocmai am citit din fişier numărul x):
a. Dacă stiva e vidă, introducem pe x în stivă
b. dacă numărul din vârful stivei este mai mic decât x, atunci extragem din stivă toate numere până ce stiva se goleşte sau până ce în vârful stivei rămâne un număr mai mare sau egal decât x. Introducem apoi pe x în stivă.
c. Dacă numărul din vârful stivei este mai mare decât x, introducem pe x în stivă

Să se citească succesiv cele n numere din fişier şi să se introducă în stivă respectând regulile de mai sus. Să se afişeze apoi câte numere au mai rămas în stivă.
De exemplu, pentru n=10 şi şirul 6, 4, 2, 5, 5, 1, 7, 4, 2, 3 atunci se procedează astfel: se introduc pe rând 6, 4, 2, apoi se extrag 2 şi 4, se introduc 5, 5, 1, se extrag 1, 5, 5, 6, se introduce 7, apoi se introduc 4, 2, se extrage 2 şi se depune 3. În stivă rămân deci 2 numere: 7 şi 3.

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 =