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

Produsul a doua matrici

Sa se calculeze produsul a două matrici de elemente întregi de forma (m,n) şi (n,p).

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.
Vom crea o prima metoda prin care se vor insera elemente in matrice si o a doua metoda care le va afisa.

using System;

namespace ProdusMatrici
{
    class Program
    {
        static void Main(string[] args)
        {
            int l1, l2, c1, c2;
            int[,] a;
            int[,] b;
            int[,] p;
            int i, j;

            Console.WriteLine("Introduceti numarul de linii pentru prima matrice:");
            l1 = int.Parse(Console.ReadLine());

            Console.WriteLine("Introduceti numarul de coloane pentru prima matrice:");
            c1 = l2 = int.Parse(Console.ReadLine());
            a = new int[l1, c1];

            Console.WriteLine("Introduceti elementele matricii:");
            InsertElements(a, l1, c1);

            Console.WriteLine("Introduceti numarul de coloane pentru a doua matrice:");
            c2 = int.Parse(Console.ReadLine());
            b = new int[l2, c2];
            p = new int[l1, c2];

            Console.WriteLine("Introduceti elementele pentru a doua matrice:");
            InsertElements(b, l2, c2);

            //afisarea celor doua matrici
            Console.WriteLine("Prima matrice este:");
            PrintMatrix(a, l1, c1);

            Console.WriteLine("A doua matrice este:");
            PrintMatrix(b, l2, c2);

            //produsul
            for (i = 0; i < l1; i++)
                for (j = 0; j < c2; j++)
                {
                    p[i, j] = 0;
                    for (int k = 0; k < c1; k++)
                        p[i, j] += a[i, k] * b[k, j];
                }

            Console.WriteLine("Produsul celor doua matrici este:");
            PrintMatrix(p, l1, c2);
            
            Console.ReadLine();
        }

        //adauga in matrice elementele introduse de utilizator
        static void InsertElements(int[,] m, int l, int c)
        {
            for (int i = 0; i < l; i++)
            {
                for (int j = 0; j < c; j++)
                {
                    Console.Write("[{0}][{1}]=", i + 1, j + 1);
                    m[i, j] = int.Parse(Console.ReadLine());
                }
            }
        }

        //afiseaza pe consola elemente matricii
        static void PrintMatrix(int[,] m, int l, int c)
        {

            for (int i = 0; i < l; i++)
            {
                for (int j = 0; j < c; j++)
                    Console.Write(m[i, j] + " ");

                Console.WriteLine();
            }

        }
    }
}
Category: Uncategorized
  • abc says:

    frumos

    October 28, 2014 at 10:17 am
  • Vlad says:

    fff bun

    October 28, 2014 at 10:24 am

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

*