using System; // piesaista System class TabulasSkol { // sāk klasi static void Main() { // sāk Main string pr = "ricards"; // vārds string uz = "brauns"; // uzvārds int[,] dt = RadasDatus(pr, uz); // ģenerē skaitļus DrukaGal(pr); // drukā galveni DrukaVisu(dt); // izvada tabulu int[,] tr = ApgrMas(dt); // transponē masīvu DrukaGal(pr); // drukā galveni DrukaVisu(tr); // izvada tabulu } // beidz Main static int[,] RadasDatus(string pr, string uz) { // veido 2D masīvu Random rnd = new Random(); // RNG int r = pr.Length; // rindas int c = uz.Length; // kolonnas int[,] m = new int[r, c]; // mat for (int i = 0; i < r; i++) // pa rindām for (int j = 0; j < c; j++) // pa kolonnām m[i, j] = rnd.Next(pr.Length, pr.Length + uz.Length + 1); // nejauši return m; // atgriež } // beidz RadasDatus static int[,] ApgrMas(int[,] d) { // transponē mat int nr = d.GetLength(1); // jaunrindu skaits int nc = d.GetLength(0); // jaunkolonnu skaits int[,] nm = new int[nr, nc]; // jauns mat for (int i = 0; i < nr; i++) // pa jaunrindām for (int j = 0; j < nc; j++) // pa jaunkolonnām nm[i, j] = d[j, i]; // apmaina indeksus return nm; // atgriež } // beidz ApgrMas static void DrukaGal(string p) { // drukā galveni Console.WriteLine($"\nTabula: {p}"); // nosaukums Zimes(3, 5); // augšlīnija Console.WriteLine("| Dati | sum | max | min |"); // kolonnas Zimes(3, 5); // viduslīnija } // beidz DrukaGal static void DrukaVisu(int[,] d) { // drukā visu tabulu for (int i = 0; i < d.GetLength(0); i++) { // pa rindām int[] r = new int[d.GetLength(1)]; // izveido rindas masīvu for (int j = 0; j < r.Length; j++) // pa kolonnām r[j] = d[i, j]; // piešķir vērtību int s = Sask(r); // saskaita int x = DabMax(r); // maksimālais int y = AtrMin(r); // minimālais DrukaR(r, s, x, y); // drukā rindu } // beidz for Zimes(3, 5); // apakšlīnija } // beidz DrukaVisu static int DabMax(int[] a) { // atrod maksimumu int m = a[0]; // sāk ar pirmo foreach (int v in a) // ej cauri if (v > m) m = v; // ja lielāks return m; // atgriež } // beidz DabMax static int AtrMin(int[] a) { // atrod minimumu int m = a[0]; // sāk ar pirmo foreach (int v in a) // ej cauri if (v < m) m = v; // ja mazāks return m; // atgriež } // beidz AtrMin static int Sask(int[] a) { // aprēķina summu int sum = 0; // sāk 0 foreach (int v in a) // ej cauri sum += v; // pieskaita return sum; // atgriež } // beidz Sask static void DrukaR(int[] r, int s, int x, int y) { // drukā rindu Console.Write("| "); // sāk ar | foreach (int v in r) // pa kolonnām Console.Write(v + " | "); // izvada vērtību Console.Write($"sum | {s} | max | {x} | min | {y} |"); // statistika Console.WriteLine(); // jaunrinda } // beidz DrukaR static void Zimes(int a, int b) { // zīmē līniju for (int i = 0; i < b; i++) { // cik reizes Console.Write("*"); // zvaigzne for (int j = 0; j < a; j++) // svītras Console.Write("-"); // zīmē svītru } // beidz for Console.WriteLine("*"); // noslēdz } // beidz Zimes } // beidz klasi