Sunteți pe pagina 1din 5

Ministerul Educației al Rebublicii Moldova

Universitatea Tehnică a Moldovei

Facultatea de Inginerie și Management în Electronică și Telecomunicații

Catedra Sisteme și Dispozitive Electronice

Referat
la disciplina Programare

lucrarea de laborator Nr.4

Tema:Prelucrarea masivelor bidimensionale

A efectuat studentul gr. IMTC-151 Arnaut Nicolae


A verificat lectorul superior Pocotilenco Valentin

Chișinău 2015
Problema 1
1. Varianta 7

2. Condiția problemei:

Este dat un masiv bidimensionalX[N][M].

Conditia:De calculat suma si cantitatea elementelor pare de pe prima si ultima


coloana.

3. Listingul programului

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main (void){

int y[10][10],i,j,n,m,elemPar1[25],elemPar2[25],suma;

printf("\nNr de rinduri n=");

scanf("%d",&n);

printf("\nNr de coloane m=");

scanf("%d",&m);

printf("\nCulegeti masivul y\n\n");

for(i=0; i<n; i++)

for(j=0; j<m; j++){

printf("y[%d][%d]=", i, j);

scanf("%d",&y[i][j]);}

printf("\nMasivul initial:\n");

for(i=0;i<n;i++){
for(j=0;j<m;j++){

printf("%d ",y[i][j]);}

printf("\n");}

int numarulDeElementePare1 = 0, numarulDeElementePare2 = 0,


nrTotalElemPare;

int sumaElementelorPare1 = 0, sumaElementelorPare2 = 0, sumTotal=0;

for(i=0; i<n; i++){

if(y[i][0] %2 ==0){

sumaElementelorPare1 += y[i][0];

numarulDeElementePare1++;}}

for(i=0; i<n; i++){

if(y[i][m-1] %2 == 0){

sumaElementelorPare2 += y[i][m-1];

numarulDeElementePare2++;}}

nrTotalElemPare = numarulDeElementePare1 + numarulDeElementePare2;

sumTotal = sumaElementelorPare1 + sumaElementelorPare2;

printf("suma elementelor pare: %d\n numarulDeElementePare: %d", sumTotal,


nrTotalElemPare);

getch();}
4. Analiza rezultatelor

Figura 1. Textul programului

Figura 2 Răspuns de programului


a) La început am inclus librăriile stdio.h,conio.h și math.h

Stdio.h am inclus deoarece în textul programului am folosit funcția printf()

Conio.h am inclus deoarece în textul programului am folosit funcția clrscr()

Math.h am inclus deoarece în textul programului am folosit cosinusul și sinusul.

b)Rîndul din program void main(void)definește titlul funcției principale cu numele


main().Cuvîntul void din fața parantezei semnifică că această funcție nu va
întoarce valori în procesul execuției sale .Parantezele după main()indică
compilatorului că aceasta este o funcție ,iar void din paranteze ne arată că funcția
nu folosește paranteze.

c) int y[10][10],i,j,n,m,elemPar1[25],elemPar2[25],suma transmite compilatorului


că în program sunt folosite variabilele te tip intreg i,j,n,m,
elemPar1[25],elemPar2[25], si masive y[10][10] ;

d) printf("\nNr de rinduri n="); scanf("%d",&n);printf("\nNr de coloane m=");


scanf("%d",&m);-ne scrie pe ecran fraza intre ghlimele de la printf si prin scan a
doilea rind dea posibilitatea culegerii de la tastatura a numarului de coloane si de
rinduri;

e) for(i=0; i<n; i++)for(j=0; j<m; j++){instrucțiunea For calculează expresia de


inițializare apoi dacă este adevărată atunci se îndeplinește instrucțiunea .După
îndeplinirea instrucțiunii se execută expresia de corecție și din nou se controlează
expresia ,justețea căruia duce îndeplinirea repetată a instrucțiunii .Dacă falsă
atunci îndeplinirea ciclului for se termină,adică controlul se transmite instrucțiunii
programului ce urmează după for.

h)printf("y[%d][%d]=", i, j);scanf("%d",&y[i][j]);}-are loc culegerea masivului de


catre utilizator;

g) printf("\nMasivul initial:\n");for(i=0;i<n;i++){ for(j=0;j<m;j++){printf("%d


",y[i][j]);}printf("\n");}-ni se prezinta pe ecran masivul initial .

i) if(y[i][m-1] %2 == 0){sumaElementelorPare2 += y[i][m-1];-se pune conditia si


functia pentru suma elementelor pare din masiv.

k) printf("suma elementelor pare: %d\n numarulDeElementePare: %d", sumTotal,


nrTotalElemPare);-ne prezinta raspunsurile la problema noastra ;

m) _getch();}oprește executarea programului cu scopul vizualizării rezultatului


pînă cînd nu va fi culeasă tasta Enter.

S-ar putea să vă placă și