Analiza Algoritmilor

Previzualizare referat:

Extras din referat:

Analiza algoritmilor

1. Să se genereze o matrice pătratică de dimensiune n cu elementele 1,2,…,n2 așezate în spirală.

Exemplu pentru o matrice de dimensiune 4: .

import java.util.Scanner;

import java.util.Scanner;

public class M19 {

public static void genereazaMatriceSpirala(int[][] M){

int n = M.length;

int patrate;

int ns = n/2; //impartire

if (n % 2 == 0) patrate = ns; //daca avem dimensiune para vor fi n/2 patrate in interiorul matricii

else patrate = ns + 1; //daca avem dimensiune impara vor fi n/2+1, deoarece elementul "1" din mijloc va constitui un patrat

//o adunare daca dimensiunea este impara

int j;

int k = n;

int element = n*n; //inmultire

if (k==1) M[0][0]=1;

else

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

if(k==1){ M[ns][ns]=1; break;}

// linia de jos

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

M[n - 1 - i][i + j] = element--;

}

// coloana din dreapta

for (j = k-2; j >0 ; j--) {

M[i + j][n - 1 - i] = element--;

}

// linia de sus

for (j = k-1; j >= 0; j--) {

M[i][i + j] = element--;

}

// coloana din stanga

for (j = 1; j <k-1; j++) {

M[i + j][i] = element--;

}

k -= 2; //dimensiunea scade cu 2, adica s-a efectuat un contur complet de patrat

}

}

static void afisareMatrice(int[][] M,String mesaj) {

System.out.println(mesaj);

for (int i = 0; i < M.length; i++) {

for (int j = 0; j < M[i].length; j++) {

System.out.format("%5d", M[i][j]);

}

System.out.println();

}

}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("Scrieti dimensiunea matricei:");

int dim = sc.nextInt();

int[][] M = new int[dim][dim];

genereazaMatriceSpirala(M);

afisareMatrice(M,"Matricea generata in spirala:").

Descarcă referat

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

Structură de fișiere:
  • Analiza Algoritmilor.docx
Alte informații:
Tipuri fișiere:
docx
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
8 pagini
Imagini extrase:
8 imagini
Nr cuvinte:
752 cuvinte
Nr caractere:
4 129 caractere
Marime:
128.37KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Referat
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!