Matrici cu diferite forme geometrice în ele

Previzualizare referat:

Extras din referat:

Problema 1

AA101. Pentru un număr natural n dat, să se genereze într-o matrice pătratică de dimensiune 2n+1, un romb care să contină numere maturale consecutive, 1,2,3,…, aranjate in zig+zag, ca in exemplul de mai jos. Celelelte elemente ale matricii vor fi completate cu 0.

Exemplu: pentru n=2, in matricea de dimensiune 2×2+1=5, se va genera rombul:

- (0&0&13&0&0@0&12&11&10&0@5&6&7&8&9@0&4&3&2&0@0&0&1&0&0)-

Se cunoaste dimensiunea matricei ca fiind 2n+1. Se generează n numere descrescătoare consecutive.Variabila NrMaxElem reprezinta numarul maxin din matrice .Numărul maxim îl calculam în următorul mod :

se calculează numărul maxim de elemende din matrice :

nr_linii×nr_coloane

se calculează numărul de elementelor 0 dintr-un colţ al matricei utilizând suma lui Gauss, apoi rezultatul îl înmulţim cu 4, numarul conţurilor :

4×(n×(n+1))/2

Numărul maxim de elemente se calculează scăzând din numărul maxim de elemende din matrice numărul de elementelor 0:

NrMaxElem=(2×n+1)(2×n+1)-4×(n×(n+1))/2

Se determina jumatarea matricei utilizand formula urmatoare :jum=[ ((2×n+1)/2)]

Se initializeaza un contor=1, care va contoriza numarul liniilor din matricesi va incrementat cu 1 la fiecare schimare a liniei, variabila elemente reprezinta numarul de elemente nenula si va fi intrementat cu 2 la fiecare schimbare a liniei, cat timp este indeplinita conditia ((elemente<dimMat) && (i<jum )). Dupa ce este depasita conditia de sus elemente va fi decrementam cu 2.

if ((elemente<dimMat) && (i<jum)){

elemente+=2;

contor++;}

else if (dimMat-i<=contor){

elemente-=2;}

}

Variabilele start represinta prima pozitie pe linia din matrice unde se va scrie primul numar nenul,iar end represinta ultima pozitie pe linia din matrice unde se va scrie ultimul numar nenul.

Ele se calculeaza unilizand urmatoarele formule:

start=((2×n+1-elemente))/2 si end=start+elemente-1

Pentru a scrie matricea in zig-zag de utilizeaza urmatoare conditie:

Pe linile pare se numerele sunt scrise de la dreapta la stanga , adica de la end la start .

Pe liniile impare se numerele sunt scrise de la dreapta la stanga , adica de la start la end.

NrMaxElem va fi decrementa cu 1 la fiecare scriere in matrice.

for(int i=0;i<dimMat;i++){

int start = (dimMat - elemente) / 2;

int end =start+elemente-1;

if (i%2==0){

for (int j=end;j>=start;j--){

A[i][j]=NrMaxElem;

NrMaxElem--;

}

}

else{

for (int j=start;j<=end;j++){

A[i][j]=NrMaxElem;

NrMaxElem--;

}

}

Numatrul maxim de scrieri in matrice este egal cu numarul maxim de elemente

NrMaxElem=(2×n+1)(2×n+1)-4×(n×(n+1))/2,

NrMaxElem=2n^2+2n+1, iar elemtele 0 se vor autocompleta.

Numarul inmultiri/impartiri: 2n+5.

Descarcă referat

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Matrici cu Diferite Forme Geometrice in Ele.docx
Alte informații:
Tipuri fișiere:
docx
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
10 pagini
Imagini extrase:
10 imagini
Nr cuvinte:
1 043 cuvinte
Nr caractere:
6 205 caractere
Marime:
49.57KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Referat
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!