Tablourile de date (vectorii, șirurile, în engleză arrays) sunt mulțimi (blocuri) de variabile.
Aceste variabile se numesc elementele șirului.
Fiecărui element i se alocă un indice (index, un număr de ordine).
Primul element are indicele 0.
Forma: | tip nume[ nr_elem]; |
---|---|
Explicație: | Se declară un vector “nume” care conține nr_elem variabile de tipul tip. |
int A [10 ] ;
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
A
Accesez datele din șir folosind indicele de poziție al elementelor.
Se citește un număr natural n urmat de un vector de lungime n.
Care este numărul maxim din vector?
6. Se citește un număr natural n și n numere raționale
7. Se citește un număr natural n și n numere naturale
11.Se citește un număr natural n si un șir de n numere naturale. Să se înlocuiască elementele de pe poziții pare cu suma vecinilor lor.
12*. Se citește un număr natural n și un șir de n numere naturale. Să se afișeze câte numere de pe poziții impare au numărul de cifre par.
T1. Se citește un număr natural n și un șir de n numere naturale.
a) Calculați și afișați suma elementelor pare
b) Înlocuiți elementele mai mari decât 100 cu ultima lor cifră și afișați șirul rezultat
c) Calculați și afișați din nou suma elementelor pare
Ex:
intrare | ieșire | explicații |
---|---|---|
7 43 24 307 2 10 804 7 |
840 43 24 7 2 10 4 7 40 |
suma numerelor pare inițial este 24+2+10 + 804 = 840 modificăm șirul 307 -> 7 și 804 -> 4 suma numerelor pare finală este 24+2+10+4 = 40 |
T2. Se citește un număr natural n și un șir de n numere naturale.
Se calculează următoarele valori:
La fiecare număr par din șir se va adăuga valoarea ci, și la fiecare număr impar din șir se va adăuga valoarea cp.
Să se afișeze șirul rezultat.
Ex:
intrare | ieșire | explicații |
---|---|---|
7 4 9 3 2 10 8 7 |
7 13 7 5 13 11 11 | ci = 3 (numere impare:9,3,7) cp=4 (pare: 4, 2, 10, 8) la numerele pare se adaugă 3: 7, 5, 13, 11 la numerle impare se adaugă 4: 13, 7, 11 |
Forma | Cum funcționează |
---|---|
int a[100], na = 0; | începem de la un șir gol (0 elemente) |
Alipirea unui element k la sfârșitul șirului: V1. Dacă șirul începe de la 0: a[na] = k; na++; V2. Dacă șirul începe de la 1: na++; a[na] = k; |
Avem 2 cazuri: șirurile care încep numerotarea de la 1 și cele de la 0. Dacă am început de la 0, ultimul element este pe poziția na-1: -> adaugăm k pe poziția următoare -> creștem numărul de elemente Dacă am început de la 1, ultimul element este pe poziția na: -> creștem numărul de elemente na -> adăugăm noul element pe ultima poziție |
while(fin >> k){ a[na++] = k; } |
Cât timp mai am elemente noi k alipesc k la sfârșitul șirului |
a[na++] = k
a[++na] = k
1. Se citesc toate numerele naturale dintr-un fișier "numere.txt".
Să se formeze două șiruri, a și b care să conțină doar numerele pare, respectiv doar numele impare citite.
2. Se citește (din fișier ) un număr n și un șir de n numere naturale.
Să se formeze și afișeze un șir care conține doar elementele de 2 cifre din primul șir.
Să se formeze și afișeze un șir care conține elementele pare din al doilea șir împărțite la 2.
*Să se formeze un șir care conține elementele din al 3-ea șir, care nu apar în primul șir
4. Din fișierul pisici.in se citește un numă natural n și n perechi de forma nume val, care reprezintă numele unei pisici și cât de energetică este (nr natural).
Elif o să se joace cu pisicile energetice, în timp ce Elsa o să mângâie pisicile leneșe. O pisică este energetică dacă are val mai mare de 100.
Formați 2 șiruri cu pisici, cel al lui Elif și cel al Elsei.
5. * Se citește un număr n și 2 șiruri de lungime n. Să se formeze un nou șir, care să conțină doar maximele locale din primul șir și doar minimele locale din al 2-lea șir. (ordinea nu contează) - minim local este un element care are ambii vecini mai mari decât el.
Într-o clasă sunt n elevi. La sfârșitul anului se calculează mediile fiecăruia și se face media clasei. Toți elevii care au media peste media clasei primesc cărți. Toți elevii care sunt la distanță de cel mult 0.05 de cea mai mare medie primesc premiul 1. Se citește n numărul de elevi și media fiecărui elev.
intrare | iesire | explicații |
---|---|---|
10 7.28 9.92 9.53 5.87 4.49 9.95 6.39 8.69 9.95 7.93 |
Media clasei este: 8 5 elevi primesc carți Cea mai mare medie este 9.95 3 elevi au luat premiul 1 |
Suma mediilor este 80 Media este suma / nr de elevi adică 8. 5 elevi au media peste 8, deci primesc cărți Cea mai mare medie este 9.95 Elevii cu medile 9.95, 9.95 și 9.92 au luat premiul 1. |
Afișați în consolă:
Într-o clasă sunt n elevi. La sfârșitul anului se scriu notele fiecăruia în fișierul "catalog.txt"
Se citește de pe prima linie numărul n de elevi.
Pe următoarele n linii se citesc pentru fiecare elev: Numele, Prenumele, nota1, nota2 și nota 3.
intrare | iesire | explicații |
---|---|---|
5 Ionescu Ion 5 10 8 Acad Elif 10 10 9 Acad Elsa 9 10 10 Repo Rep 5 3 5 Princess Ruby 8 10 10 |
Ion 7.6 Elif 9.6 Elsa 9.6 Rep 4.3 Ruby 9.3 Media clasei: 8.13 Repetenți: Repo Rep Premianți: Acad Elif, Acadd Elsa |
Afișați în consolă:
Matematic, o mulțime este un șir cu elemente distincte în care nu contează ordinea elementelor.
1. Intersecția:
Dacă am 2 mulțimi A = {1, 2, 3, 4 } și B = {1, 3, 5, 7, 9} intersecția mulțimilor A și B conține toate elementele comune mulțimilor.
CI = {1, 3}.
Pe prima linie fișierul "data.in" sunt 2 numere naturale n și m. Pe a doua linie se află un șir ( mulțimea A ) de n numere naturale. Iar pe a 3-a linie se găsește un alt șir de m nr nat (mulțimea B).
Afișați pe ecran intersecția acestor mulțimi.
2. Reuniunea:
Dacă am 2 mulțimi A = {1, 2, 3, 4 } și B = {1, 3, 5, 7, 9} reuniunea mulțimilor conține toate elementele din A și din B o singură dată.
C = {1, 2, 3, 4, 5, 7, 9}. (hint: Toate elementele din A + elementele din B care nu apar în A ).
Pe prima linie fișierul "data.in" sunt 2 numere naturale n și m. Pe a doua linie se află un șir ( mulțimea A ) de n numere naturale. Iar pe a 3-a linie se găsește un alt șir de m nr nat (mulțimea B).
Afișați pe ecran reuniunea acestor mulțimi.
1. Din fișierul "data.in" se citește un număr natural n și un șir de n numere naturale. Din consolă se citește numărul natural k. Ștergeți din șir elementul de pe poziția k si afișați pe ecran șirul rezultat.
2. Din fișierul "data.in" se citește un număr natural n și un șir de n numere naturale. Din consolă se citesc 2 numere naturale k și x.
Inserați în șir, pe poziția k, elementul x. Afișați pe ecran șirul rezultat.
1. Din fișierul "data.in" se citește un număr natural n și un șir de n numere naturale. Din consolă se citește numărul natural x. Ștergeți din șir toate elementele mai mari decât x. Afișați pe ecran șirul rezultat.
2. Din fișierul "data.in" se citește un număr natural n și un șir de n numere naturale. Din consolă se citește numărul natural x.
Inserați în șir, înaintea fiecărui element par, elementul x. Afișați pe ecran șirul rezultat.
3. Din fișierele "A.in", "B.in" și "C.in" se citesc 3 mulțimi diferite, A B și C reprezentate prin câte un număr de elemente și un șir. Afișați pe ecran reuniunea dintre intersecția mulțimilor A și B și intersecția mulțimilor B și C.