Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Parcurgerea diagonalei principale

Sa se afiseze elementele de pe diagonala principala dintr-o matrice pătratică de elemente întregi.

Analiza Programului

Conform definitiei, o matrice este reprezentata de un tablou (vector) cu m linii si n coloane, ale carui elemente pot fi reprezentate de numere complexe.
Un vector poate avea mai mult de o dimensiune. De exemplu, declararea unui vector int[,] m = new int[m,n] inseamna crearea unui vector cu m linii si n coloane.
O matrice se numeste patratica daca numarul de linii este egal cu numarul de coloane ale matricei. O matrice patratica are doua diagonale: diagonala principala (care uneste primul element al matricei, m[0][0], cu ultimul element, m[n-1][n-1]) si diagonala secundara (care uneste ultimul element de pe prima linie, m[0][n-1], cu primul element de pe ultima linie, m[0][n-1]).
Elementele de pe diagonala principala sunt: m[0][0], m[1][1], m[2][2], … m[n-1][n-1]. Prin urmare, se observa ca indicele coloanei este egal cu indicele liniei.

using System;

namespace _45
{
    class Program
    {
        static void Main(string[] args)
        {
            int l, c;

            Console.WriteLine("Ordinul matricii patratice:");
            int n = int.Parse(Console.ReadLine());
            int [,] m = new int [n,n];

            Console.WriteLine("Introduceti elementele matricii:");
            for (l = 0; l < n; l++)
            {

                for (c = 0; c < n; c++)
                {
                    Console.Write("M[{0}][{1}]= ", l + 1 , c + 1);
                    m[l,c] = int.Parse(Console.ReadLine());
                }
            }

            Console.WriteLine("Matricea are elementele:");
            //afiseaza elementele matricii
            for (l = 0; l < n; l++)
            {
                for (c = 0; c < n; c++)
                {
                    Console.Write(m[l,c] + " ");
                }
                Console.WriteLine();
            }

            Console.WriteLine("Elementele de pe diagonala principala:");
            //indicele liniei este egal cu indicele coloanei
            for (int i = 0; i < n; i++)
                Console.Write(m[i, i]); 
            
            Console.ReadLine();
        }
    }
}
Category: Uncategorized

Your email address will not be published. Required fields are marked *

*