static void Main(string[] args)
{
int wybor;
Console.WriteLine("1. Dodaj macierze");
Console.WriteLine("2. Pomnoz macierze");
Console.Write("\nTwoj wybor to: ");
wybor = int.Parse(Console.ReadLine());
switch (wybor)
{
case 1:
dodawanie();
break;
case 2:
mnozenie();
break;
default:
Console.WriteLine("Wybierz od 1 do 2");
Console.ReadKey();
break;
}
}
private new static void dodawanie()
{
int x, y, x1, x2, a, b;
double[,] tabA = new double[100, 100];
double[,] tabB = new double[100, 100];
double[,] tabC = new double[100, 100];
Console.WriteLine("Max wymiary macierzy wynosza 100x100.\n\n");
Console.WriteLine("Podaj wymiar macierzy A: ");
x = int.Parse(Console.ReadLine());
Console.WriteLine("x");
y = int.Parse(Console.ReadLine());
a = x + y;
Console.WriteLine("Macierz A sklada sie z {0} elementow. Podaj je wszystkie: \n", a);
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
tabA[i, j] = int.Parse(Console.ReadLine());
}
}
Console.WriteLine("Podaj wymiar macierzy B: ");
x1 = int.Parse(Console.ReadLine());
x2 = int.Parse(Console.ReadLine());
b = x1 + x2;
Console.WriteLine("Macierz B sklada sie z {0} elementow. Podaj je wszystkie: \n", b);
for (int i = 0; i < x1; i++)
{
for (int j = 0; j < x2; j++)
{
tabB[i, j] = int.Parse(Console.ReadLine());
}
}
Console.Clear();
Console.WriteLine("Dodawanie macierzy A+B\n");
if (x == x1 && y == x2)
{
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
tabC[i, j] = tabA[i, j] + tabB[i, j];
}
}
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
Console.Write("\t" + tabC[i, j]);
}
Console.WriteLine();
}
}
else
{
Console.WriteLine("Nie mozna dodać macierzy A i B!!!\n");
}
Console.Read();
}
private new static void mnozenie()
{
int x, y, x1, x2, a, b;
double[,] tabA = new double[100, 100];
double[,] tabB = new double[100, 100];
double[,] tabC = new double[100, 100];
Console.WriteLine("Max wymiary macierzy wynosza 100x100.\n\n");
Console.WriteLine("Podaj wymiar macierzy A: ");
x = int.Parse(Console.ReadLine());
Console.WriteLine("x");
y = int.Parse(Console.ReadLine());
a = x + y;
Console.WriteLine("Macierz A sklada sie z {0} elementow. Podaj je wszystkie: \n", a);
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
tabA[i, j] = int.Parse(Console.ReadLine());
}
}
Console.WriteLine("Podaj wymiar macierzy B: ");
x1 = int.Parse(Console.ReadLine());
x2 = int.Parse(Console.ReadLine());
b = x1 + x2;
Console.WriteLine("Macierz B sklada sie z {0} elementow. Podaj je wszystkie: \n", b);
for (int i = 0; i < x1; i++)
{
for (int j = 0; j < x2; j++)
{
tabB[i, j] = int.Parse(Console.ReadLine());
}
}
Console.Clear();
Console.WriteLine("Mnożenie macierzy A*B\n");
double suma = 0;
if (y == x1)
{
for (int i = 0; i < x; i++)
{
for (int k = 0; k < x2; k++)
{
for (int j = 0; j < y; j++)
{
suma = suma + tabA[i, j] * tabB[j, k];
tabC[i, k] = suma;
}
}
}
for (int i = 0; i < x; i++)
{
for (int k = 0; k < x2; k++)
{
Console.Write("\t" + tabC[i, k]);
}
Console.WriteLine();
}
}
else
{
Console.WriteLine("Nie można pomnozyć macierzy A i B");
}
Console.ReadLine();
}
Brak komentarzy:
Prześlij komentarz