10._volumul_de_prelucrari
DESCRIPTION
Volumul_de_prelucrariTRANSCRIPT
-
Structuri de date - Culegere de probleme n C++ 9ROXPXOGHSUHOXFU UL
10. Volumul de prelucr UL
Problema 10.1 6H FRQVLGHU XQ YHFWRU GH GLPHQVLXQH n, cu datele GLPHQVLXQHD YDORDUHD HOHPHQWHORU LQWURGXVH GH OD WDVWDWXUD 6 VHVFULHSURJUDPXOvQ&FDUHFDOFXOHD] VXPDHOHPHQWHORUYHFWRUXOXLLV VHGHWHUPLQHYROXPXOGHSUHOXFU UL
Rezolvare:
Programul 1
#include
int vect[100],n,i,suma;
void main(){ suma=0; coutn; for(int i=0;i
-
Structuri de date - Culegere de probleme n C++ 9ROXPXOGHSUHOXFU UL
- RLQL LDOL]DUHODvQFHSXWL
Vpreluc = Vpreluc + 1+ n+(n+1)+2*n = 3+2*(2*n+1) = 4*n+5
n ultimul for avem :
- QFRPSDUD LLLQ - QvQFUHPHQW ULL - QDGXQ ULVXPD YHFW>L@ - o atribuire la nceput (i=0)
Vpreluc = Vpreluc + 1+ n+n+(n+1) = 4*n+5+3*n+2= 7*n+7
/DVIkULWXOSURJUDPXOXLDYHPRXOWLP DILDUHcout.
Deci volumul total GHSUHOXFU ULHVWH
Vpreluc = Vpreluc +1 = 7*n+8
Programul 2 - DFHDVW YDULDQW UHGXFHYROXPXOGHSUHOXFU ULSULQHOLPLQDUHDunui ciclul for. 'DF QX DYHP QHYRLH GH HOHPHQWHOH YHFWRUXOXL SHQWUX RSUHOXFUDUH XOWHULRDU SXWHP IRORVL R VLQJXU YDULDELO UHGXFkQG DVWIHO Ldimensiunea memoriei ocupate.
#include
int var,n,i,suma;
void main(){ suma=0; coutn; for(int i=0;i
-
Structuri de date - Culegere de probleme n C++ 9ROXPXOGHSUHOXFU UL
n acest caz avem:
- FHOHWUHLSUHOXFU ULLQL LDOH - QFRPSDUD LL - QLQFUHPHQW UL - RLQL LDOL]DUHL - FHOHWUHLRSHUD LLGLQFDGUXOFLFOXOXLfor - DILDUHDUH]XOWDWXOXL
Vpreluc = 3+ 1+(n+1)+n+3*n+1 = 5*n+6
Problema 10.2 6 VHGHWHUPLQHYDORDUHDPD[LP DOXQXLYHFWRUSUHFXPL SR]L LD OXL vQ FDGUXO YHFWRUXOXL 6 VH FDOFXOH]H YROXPXO PD[LP LPLQLPGHSUHOXFU ULvQFD]XOJHQHUDO
Rezolvare:
#include
int i,max,k; int vect[10]={6,9,10,-5,-8,23,67,120,6,-20};
void main(){ i=1; max=vect[0]; k=0; while (i
-
Structuri de date - Culegere de probleme n C++ 9ROXPXOGHSUHOXFU UL
9ROXPXOGHSUHOXFU UL
6H FRQVLGHU YHFWRUXO LQL LDOL]DW vect. La nceput se fac cele trei atribuiri necesare.
n ciclul while avem:
- QFRPSDUD LLLQ - n-LQFUHPHQW ULL - n-FRPSDUD LLSHQWUXif - TRSHUD LL vQ FDGUXO OXL if, cu q[0,n-1] indicnd de cte ori se
H[HFXW RSHUD LLOHGLQFDGUXOOXLif
/DVIkULWXOSURJUDPXOXLDYHPDILDUHDUH]Xltatului.
Vpreluc = 3+n+(n-1)+(n-1)+q*2+1= 3*n+2+q*2=3*n+2*(q+1)
n acest caz avem n=10, q=5, astfel :
Vmaxpreluc = 30+ 2*6=42
'DF VFKLPE PYDORULOHYHFWRUXOXLSXWHPDYHD
9ROXPXOPD[LPGHSUHOXFU UL
Vmaxpreluc = 30+2*(9+1)=50 (n cazul n care cele 10 elemente sunt situate vQRUGLQHFUHVF WRDUH
9ROXPXOPLQLPGHSUHOXFU UL
Vminpreluc GDF HOHPHQWXOPD[LPHVWHSULPXOHOHPHQWdin vector)
-
Structuri de date - Culegere de probleme n C++ 9ROXPXOGHSUHOXFU UL
Problema 10.3 6 VH GHWHUPLQH VXPD HOHPHQWHORU GH SH GLDJRQDO SULQFLSDO DO XQXL PDVLY ELGLPHQVLRQDO SUHFXP L YROXPXOSUHOXFU ULORU
Rezolvare
#include
int mat[10][10],suma,n;
void main(){ coutn; for(int i=0;i