Sunteți pe pagina 1din 6

LUCRARE DE LABORATOR NR. Tablouri unidimensionale.

Scopul lucrrii: nsuirea posibilitilor limbajului C++ referitor la operaii cu tablouri unidimensionale i elaborarea programelor de prelucrare a tablourilor unidimensionale. Exemplu de program. Sunt date 2 tablouri unidimensionale X[1..n], Y[1..n]. Calculai Z=(S1+S2)/(K1*K2), unde S1,P1-suma si cantitatea elementelor pare din tabloul X, S2,P2 -suma si cantitatea elementelor pare din tabloul Y. Listingul programului:
#include<conio.h> #include<iostream.h> void main(){ clrscr(); int x[30],y[30],i,n,s1=0,s2=0,k1=0,k2=0; float z; cout<<"n=";cin>>n; cout<<"Culege tabloul X\n"; for(i=0;i<n;i++) cin>>x[i]; cout<<"Culege tabloul Y\n"; for(i=0;i<n;i++) cin>>y[i]; for(i=0;i<n;i++) {s1+=x[i];s2+=y[i]; if(x[i]%2==0) k1++; if(y[i]%2==0) k2++;} z=(s1+s2)/(k1*k2); cout<<"z="<<z; getch();}

Coninutul raportului: 1.Scopul lucrrii; 2.Condiia problemei n limbaj matematic.; 3.Textul programului n limbajul C++ (listing); 4.Exemplu de testare;

5.Concluzii. Variante. 1. Se considera tabloul unidimensional A[1..n] de numere intregi. Sa se calculeze: a) suma elementelor divizibile si cu primul si cu ultimul element al tabloului; b) numarul elementelor pare de pe pozitii pare; c)

S = | xi+1 xi |;
i=1

n 1

2. Se considera tabloul unidimensional A[1..n] de numere intregi. Sa se calculeze: a) de cite ori figureaza in acest tablou elementul minim si maxim; b) produsul sumelor elementelor de pe pozitii pare si impare; c) P= ( x
i =1 n i

+e );

1 xi

3.Se considera doua tabluori A[1..n] si B[1..n] de numere intregi. a) lcatuiti un program care numara cazurile in care elementele respective au urmatoarele proprietati: 1)A[i]<B[i]; 2)A[i]=B[i]; 3)A[i]>B[i]; b) creaza tabloul C[1..n] dupa regula: C[i]=max(a[i],b[i])min(a[i],b[i]). 4. Se considera tabloul unidimensional A[1..n] de numere intregi. Scrieti un program care: a) calculeaza media aritmetica a numerelor de pe locurile pare si media geometrica a numerelor de pe locurile impare; b) schimba cu locul elementele primei jumatati a tabloului cu elementele jumatatii a doua; c)

S = cos( xi ) sin( xi +1 )
i = 11

n 1

5. Se considera tabloul X[1..N] de numere intregi. Scrieti un program care: a) calculeaz suma mediilor aritmetice a primei i a doua jumti ale masivului; b) aranjeaza prima jumtate a tabloului n ordine cresctoare, iar a doua n ordine descresctoare; c)

S = | x i |x ;
i +1

n 1 i =1

6. Se considera tabloul A[1..N] de numere intregi.Scrieti un program care determina lungimea celei mai lungi secvente de elemente consecutive ordonate crescator. 7. Se considera tablourile A[1..N] de numere intregi.Scrieti un program care: a) efectueaza deplasarea elementelor spre stinga cu M pozitii.Primele M elemente vor fi inscrise pe ultimele M pozitii; b) calculeaz suma mediilor aritmetice a elementelor pozitive i negative ale tabloului. c) G = n x1 x 2 ... x n1 x n ; 8.Se considera tabloul A[1..N] de numere reale.Scrieti un program care: a) modifica tabloul in felul urmator: elementele egale cu 2 le inlocuieste cu 4, elementele egale cu 4 le inlocuieste 8, iar elementele egale 8 le inlocuieste cu 2; b) creaza tabloul Y din elementele tabloului X, inserind intre fiecare 2 doua elemente media lor aritmetica. 9. Se considera tabloul A[1..2*N] de numere naturale unde N elemente sunt pare, iar N elemente sunt impre.Scrieti un program care aranjeaza elementele astfel: pe locuri pare elementele pare, locuri impare elementele impare pastrind ordinea, apoi creaza tabloul Y din elementele tabloului X,

inserind intre fiecare 2 elemente valoare elementului minim din tablou. 10. Se consider tablourile unidimensionale X[1..N] i Y[1..N]. Creai tabloul Z care ndeplinete urmtoarele condiii: a) Z = X Y - intersecia tablourilor; b) Z = X Y - reuniunea tablourilor; c) Z = X Y - diferena tablourilor (Z conine toate elementele din X , care se conin n Y); 11. Se consider tablourile unidimensionale X[1..n] i Y[1..n]. a) Creai tabloul C[1..n] atribuind elementelor de pe poziii pare valoare min(X[i],Y[i]), iar elementelor de pe poziii impare max(X[i],Y[i]); b) Calculai F=X[1]/Y[N]+X[2]/Y[N-1]+ ... + X[N]/Y[1]; c) Comparai elementul maxim din tabelul X cu cel minim di tabelul Y; 12. Se consider tabloul X[1..n] de numere naturale. Elaborai un program care afieaz numerele prime cuprinse ntre elementele minim i maxim ale tabloului apoi calculai suma lor. 13. Scriei un program care calculeaz tabloul x[1..n] dup
j formula x[i]= e apoi calculeaz suma elementelor impare. j= 1 i

14. Se consider tabloul A[1..n] de numere intregi. Elaborai un program care afieaz elementele tabloului care sunt soluii ale polinomului: P(x)=A[1]xn-1-A[2]xn-2+A[3]xn-3-A[4]xn-4++(-1)n+1A[n-1]x1+ (-1)n+1 A[n] x0 15. Se consider tabloul X[1..n] de numere intregi. Elaborai un program care afieaz toate numerele de m cifre ce se pot forma din elementele acestui tablou. Numrul m se introduce de la tastatur.

16. Cifrele a 2 numere sunt memorate n 2 tablouri. Elaborai un program care calculeaz: a) suma numerelor; b) produsul lor; c) ctul i resruk mpririi primului numr la al doilea. Restricie: nu se permite de fcut operaiile date folosind direct numerele. 17. Se consider tabloul X[1..n] de numere ntregi. Elaborai un program care determina cea mai lung consecutivitate de zerouri. La ecran se va afia lungimea secvenei, poziia iniial i poziia final. 18. Se consider tabloul X[1..n] de numere naturale. Elaborai un program care determin cel mai mare divizor comun al tuturor elementelor tabloului. 19. Se consider tabloul X[1..n] de numere naturale. Elaborai un program care verific dac suma dintre elementul minim a primei jumti a tabloului i elementul maxim a jumtii a doua a este numr prim. 20. Se consider dou tablouri unidimensionale A[1..n], B[1..n] de numere ntregi. Elaborai un program care calculeaz i afieaz valoare expresiei:

( x[i] + y[i]), dac a[i] < b[i] i= 1 n F = ( x[i] / y[i]), dac a[i] > = b[i] i= 1 n ( x[i] * y[i] 2 x[i]), n cazurile ramase i= 1
n