Sunteți pe pagina 1din 7

Ministerul Educației al Republicii Moldova

Universitatea Tehnică a Moldovei


Catedra SRCO

REFERAT

La disciplina: Programare
Lucrare de laborator nr.4

Tema: ” Prelucrarea masivelor bidimensionale ”

A efectuat studentul gr. IMTC-151: Botnaru Ion


A verificat: Lachi Arina

Chișinău, 2015
1. Varianta: 15

2. Condițiile problemei I:

Este dat un masiv X[N][M]. De calculat suma și cantitatea elementelor


cu poziții pare de pe ultimile trei rînduri.
3. Schema logică :

i=0;START
in,m
< n;n,m
Introdu i++
Introdu datele
a[i]
în tabel
i=n-3 ;i<n; i++

fmod(i,2)==
0 + s+=x[i][j]; p++;
fmod(j,2)==
0
-
Suma =
Cantitatea =

5. Listingul programului:
STOP
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>

void main(void) {
int x[50][40],n,m,p=0,s=0,i,j;
printf("Dati nr.rinduri:");
scanf("%d",&n);
printf("Dati nr.coloane:");
scanf("%d",&m);

for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
printf("x[%d][%d]=",i,j);
scanf("%d",&x[i][j]); }}

printf("Masiv initial: \n");

for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
printf("%3d",x[i][j]); } printf("\n"); }

for(i=n-3;i<n;i++) {
for(j=0;j<m;j++) {
if(fmod(i,2)==0 && fmod(j,2)==0) {
s+=x[i][j]; p++; }}}

printf("Suma=[%d], Cantitatea=[%d] \n \n",s,p); getch(); }

6. Descrierea programului:

- # – indică că acestea sunt directive ale procesorului;


- <stdio.h>,<conio.h>,<math.h> – sunt biblioteci de bază ale programului;
- <> – indică adresa bibliotecilor;
- viod main (void) – definește titlul functiei principale main ();
- {} – mărginește instrucținile care formează corpul funcției principale main () ;
- int x,a,b,c – declanșează variabile simple de tip întreg;
- printf() – afisează pe ecran un comentariu;
- scanf() – o funcție de intrare și face posibilă introducerea de la tastatură a
valorilor;
- %d – indică funcției că valoarea citită este de tip intreg;
- & – indică adresa de memorare unde va fi înscrisă aceasta;
- clrscr () – curăță ecranul ;
- getch() – operația care oprește executarea programului cu scopul vizualizării
programului ;

- if() – operația care îndeplinește o funcție oarecare în cazul cînd condiția este
corectă;
- else – operația care indică funcțiile alternative ale operației if;
- <stdlib.h> – bibliotecă de bază a programului ce conține funcții;

- for – o instrucțiune ciclică cu contor (i++) care în acest proces ciclic primește
valori consecutive de la valoarea inițială dată pînă la valoarea finală (n);

7. Analiza rezultatelor primului program:


Fig 1, rezultatul programului I

8. Condițiile problemei II:

Este dat un masiv X[N][M]. De schimbat cu locurile elementele ariei II cu IV.

9. Schema logică :
10.Listingul programului:

#include<stdlib.h>
#include<math.h>
#include<stdio.h>
#include<conio.h>

void main(void) {
int x[50][40],i,j,k,n,aux; char z;
printf("INTRODUCETI marimea masivului: \n");
scanf("%d",&n);

label:clrscr();
printf("ALEGETI metoda de intoroducere: \n");
printf("A - Automat, M - Manual \n");
z=getch();
if((z=='a') || (z=='A')) goto automat; else
if((z=='m') || (z=='M')) goto manual;
automat:randomize();
for(i=0;i<n;i++) {
for(j=0;j<n;j++){
x[i][j]=random(20)-5; }} goto masiv;
manual: printf("CULEGETI masivul: \n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("x[%d][%d]=",i,j);
scanf("%d", &x[i][j]); }}
masiv: printf("\n Masivul initial: \n");

for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%3d",x[i][j]); } printf("\n");} printf("\n REZULTATUL FINAL \n");
for(i=0;i<n/2;i++){
for(j=n/2;j<n;j++){
aux=x[i][j];
x[i][j]=x[n/2+i][j+n/2];
x[n/2+i][j+n/2]=aux; }}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%3d",x[i][j]);} printf("\n");}
getch();}

11.Analiza rezultatelor la al doilea program:


Fig 2, rezultatul programului II

12.Concluzii:

În urma efectuării acestei lucrări de laborator, am întărit cunoștințele


prin practică obținute anterior la lecții. Am studiat “ Tablourile
bidimensionale și prelucrarea lor ”, ceea ce a permis folosirea instrucțiunilor
ciclice (for). Am studiat cum se poate de introdus / de afișat datele unui
tabel. Tot o dată am învățat și prelucrarea datelor din tabel și folosirea
randomizer-ului.
În urma compilării programului, am obținut rezultatul așteptat.

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