Sunteți pe pagina 1din 6

Ministerul Educaiei i Tineretului al Republicii Moldova Universitatea Tehnic a Moldovei

Catedra: Informatic aplicat

RAPORT
Lucrare de laborator Nr.5 la Programarea Calculatoarelor

A efectuat:

St. gr. MI-121 Vzdoag Daniel Lector asistent Cocodan Mihail

A verificat:

Chiinu 2012

Lucrare de laborator Nr.5


Tema: Formarea tablourilor. Scopul lucrrii: Obinerea deprinderilor practice de formare a tablourilor. Sarcini de lucru: De prelucrat tablourile n conformitate cu sarcina primit. De afiat tablourile iniiale introduse i cele prelucrate n forma corespunztoare. Varianta 12: Fie dat tabloul A cu dimensiunile N*M.S se formeze vectorul B,elementele cruia vor fi elementele tabloului A,situate mai jos de elementul maximal din fiecare coloan

Mersul lucrrii
Noiuni principale
Tabloul este o colectie finita de elemente de acelasi tip, numit tip de baza al tabloului, care ocupa un spatiu continuu de memorie.Memoria ocupat de tablou este: dimensiune*sizeof(tip_de_baza). A forma un tablou nseamn a da valori elementelor acestui tablou,programul n cauz trebuie s conin instruciunea : b[k]=a[i][j].

Textul programului n limbajul C


#include<stdio.h> #include<conio.h> int main(){ int a[10][10],b[100],n,m,i,j,k=0,lungimea=0,pozitia,max; printf("Culege numarul de linii : "); scanf("%d",&n); printf("Culege numarul de coloane : "); scanf("%d",&m); for(i=0;i<n;i++) for(j=0;j<m;j++) { printf("Introdu a[%d][%d] : ",i,j); scanf("%d", &a[i][j]); } printf("Matricea introdusa este : \n\n"); for(i=0;i<n;i++){ for(j=0;j<m;j++){ printf("\t%d",a[i][j]);} printf("\n");} for(j=0;j<m;j++){ max=a[0][j]; pozitia=0; for(i=0;i<n;i++) if(max<a[i][j]){ max=a[i][j]; pozitia=i;}

for(i=pozitia+1;i<n;i++) { b[k++]=a[i][j]; lungimea++; } } printf("\nVectorul B este: \n"); for(i=0;i<lungimea;i++) printf("%d ",b[i]); getch(); }

Datele de intrare: Introducerea numarului de linii i de coloane : 5 i 2; Elementele tabloului: 2,-2,5,7,8,22,4,-5,9,10. Rezultatele obtinute: Vectorul B este: -5 10.

Schema logic a programului:

START
int a[10][10],b[100],n,m,i,j,k=0,lungimea=0,pozitia,max; printf("Culege numarul de linii : "); scanf("%d",&n); printf("Culege numarul de coloane : "); scanf("%d",&m);

for(i=0;i<n;i++) DA for(j=0;j<m;j++) DA printf("Introdu a[%d][%d] : ",i,j); scanf("%d", &a[i][j]); NU

NU

printf("Matricea introdusa este : \n\n");

for(i=0;i<n;i++) DA for(j=0;j<m;j++) DA printf("\t%d",a[i][j]); NU

NU

printf("\n");

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

NU

max=a[0][j]; pozitia=0;

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

if(max<a[i][j])

NU

DA max=a[i][j]; pozitia=i

for(i=pozitia+1;i<n;i++) DA b[k++]=a[i][j]; lungimea++;

NU

printf("\nVectorul B este: \n");

for(i=0;i<lungimea;i++) DA printf("%d ",b[i]);

NU

getch();

STOP

Concluzii: 1. n aceast lucrare de laborator am elaborat un program care are legtur cu formarea tabloulurilor realizat cu diferite instruciuni posibile. 2. Am folosit n acest program doar intruciunea for i if . 3. Am obinut primele deprinderi de lucru la formarea tablourilor n limbajul C. Bibliografie: 1) http://www.timsoft.ro/aux/module/modul6.html; 2) Totul despre C si C++ de Kris Jamsa si Lars Kland; 3) Programare Iniiere n limbajele C,C++ de Sergiu Istrati.

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