Sunteți pe pagina 1din 6

MINISTERUL EDUCAIEI AL REPUBLICII MOLDOVA

UNIVERSITATEA TEHNIC A MOLDOVEI


CATEDRA Informatica Aplicata

Raport
Lucrare de laborator nr.3
La disciplina
Structuri de Date i Algoritmi
Tema:Transmiterea de parametrii.
Varianta 1.

A efectuat:
A verificat:

Chiinu 20__

Scopul lucrarii
Obinerea depinderilor practice de lucru cu utilizarea fuctiilor, transmiterea de parameti la
functiiele create de utilizator.
Sarcina lucrarii
De prelucrat tabloul bidimenseonal n conformitate cu sarcina primit.De afiat tabelul i
rezultatul n forma coresponzatoare.S se alcatueasc schema bloc i programul .Fie dat
tabloul bidimensioal x[10][15] cu condiia a >0.De elaborate un program care calculeaz
suma i numarul de elemente pozitive a masivului x cu ajutorul transmiterei de parametrii.
Schema bloc

I.Transmiterea de caractere prin valoare


Textul programului
#include<stdio.h>
#include<conio.h>
#include<math.h>
//Transmiterea de caractere prin valoare
void calc(int tab[20][20],int lin,int col){
int i,j,k=0,sum=0;
for(i=0;i<lin;i++)
for(j=0;j<col;j++)
if((tab[i][j]>0)&&(i<=10&&j<=15)){k++;
sum=sum+tab[i][j];}
printf("\nSuma=%d\tNumarul de elemente=%d",sum,k);
}void main(){
int x[20][20],i,j,n,m;
clrscr();
printf("Introduceti numarul de linii:");
scanf("%d",&n);
printf("Introduceti numarul de coloane:");
scanf("%d",&m);
printf("Introduceti elementele masivului:\n");
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("x[%d][%d]=",i,j);
scanf("%d",&x[i][j]);}}
printf("\nMasivul x este:\n");
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%2d",x[i][j]);}printf("\n");}
calc(x,n,m);
getch();}

II.Transmiterea de caractere prin pointeri


Textul programului
#include<stdio.h>
#include<conio.h>
#include<math.h>
//pointer
void calc(int (*tab)[20],int *lin,int *col){
int i,j,k=0,sum=0;
for(i=0;i<(*lin);i++)
for(j=0;j<(*col);j++){
if(*tab[i][j]>0){k++;
sum=sum+((*tab)[i]+j);}}
printf("\nSuma=%d\tNumarul de elemente=%d",sum,k);}
void main(){ int x[20][20],i,j,n,m;
clrscr();
printf("Introduceti numarul de linii:");
scanf("%d",&n);
printf("Introduceti numarul de coloane:");
scanf("%d",&m);
printf("Introduceti elementele masivului:\n");
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("x[%d][%d]=",i,j);
scanf("%d",&x[i][j]);}}
printf("\nMasivul x este:\n");
for(i=0;i<n;i++){
for(j=0;j<m;j++)
printf("%2d",x[i][j]);
printf("\n");}calc(&x[20],&n,&m);
getch();}

III.Transmiterea de caractere prin variabile globale.


Textul programului:
#include<stdio.h>
#include<conio.h>
#include<math.h>
//Transmiterea de caractere prin variabile globale
int x[20][20],i,j,n,m,k=0,sum=0;
void calc(){
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if((x[i][j]>0)&&(i<=10&&j<=15)){
k++;
sum=sum+x[i][j];}
printf("\nSuma=%d\tNumarul de elemente=%d",sum,k);
}void main(){
clrscr();
printf("Introduceti numarul de linii:");
scanf("%d",&n);
printf("Introduceti numarul de coloane:");
scanf("%d",&m);
printf("Introduceti elementele masivului:\n");
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("x[%d][%d]=",i,j);
scanf("%d",&x[i][j]);}}
printf("\nMasivul x este:\n");
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%2d",x[i][j]);}printf("\n");}
calc();
getch();}

IV.Rezultatul:

V.Concluzie:
n urma efectuarii aceste lucrari de laborator am facut cunotina cu utilizarea fuctiilor,
transmiterea de parameti la functiiele create de utilizator.

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