10._volumul_de_prelucrari

5
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 VH VFULH SURJUDPXO vQ & FDUH FDOFXOHD] VXPD HOHPHQWHORUYHFWRUXOXL œL V VHGHWHUPLQHYROXPXOGHSUHOXFU UL Rezolvare: Programul 1 #include <iostream.h> int vect[100],n,i,suma; void main(){ suma=0; cout<<"Introduceti dimensiunea: ";cin>>n; for(int i=0;i<n;i++){ cout<<"Elementul "<<i<<" : ";cin>>vect[i]; } for(i=0;i<n;i++) suma+=vect[i]; cout<<"Suma elementelor este: "<<suma; } La începutul programului, se atribuie 0 variabilei suma, în plus se citeœWHGH la tastatura valoarea lui n. V preluc = 1(suma) + 1(cout) + 1(cin)=3 În primul ciclu for avem: - QFRPSDUD LLLQ - n atribuiri (i++) - QDILœ ULœLFLWLUL

Upload: alexandra-ronaldinha

Post on 17-Dec-2015

216 views

Category:

Documents


4 download

DESCRIPTION

Volumul_de_prelucrari

TRANSCRIPT

  • 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