Advertisement
Batisk_AFF

C# - lr2

Oct 4th, 2022 (edited)
946
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.50 KB | Source Code | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace lr2
  8. {
  9.     class Program
  10.     {
  11.         static void output(int[][] arr)
  12.         {
  13.             for (int i = 0; i < arr.Length; ++i)
  14.             {
  15.                 for (int j = 0; j < arr[i].Length; ++j)
  16.                 {
  17.                     Console.Write(String.Format("{0} ", arr[i][j]));
  18.                 }
  19.                 Console.WriteLine();
  20.             }
  21.         }
  22.  
  23.         static void part1()
  24.         {
  25.             Console.Write("n: ");
  26.             int n = int.Parse((Console.ReadLine()));
  27.             Console.Write("m: ");
  28.             int m = int.Parse((Console.ReadLine()));
  29.             int[] a = new int[n];
  30.             int[] b = new int[m];
  31.             int[] c = new int[n + m];
  32.  
  33.             Console.WriteLine("\na array input:");
  34.             for (int i = 0; i < a.Length; ++i)
  35.             {
  36.                 a[i] = int.Parse(Console.ReadLine());
  37.             }
  38.             Console.WriteLine("\nb array input:");
  39.             for (int i = 0; i < b.Length; ++i)
  40.             {
  41.                 b[i] = int.Parse(Console.ReadLine());
  42.             }
  43.  
  44.             Array.Sort(a);
  45.             Array.Sort(b);
  46.             Array.Reverse(b);
  47.  
  48.             for (int i = 0; i < c.Length; ++i)
  49.             {
  50.                 if (i < n) c[i] = a[i];
  51.                 else c[i] = b[i - n];
  52.             }
  53.  
  54.             Console.Write("\nc array output: ");
  55.             for (int i = 0; i < c.Length; ++i)
  56.             {
  57.                 Console.Write(String.Format("{0} ", c[i]));
  58.             }
  59.             Console.WriteLine("\n\n");
  60.         }
  61.  
  62.         static void part2()
  63.         {
  64.             Console.Write("n: ");
  65.             int n = int.Parse((Console.ReadLine()));
  66.             Console.Write("m: ");
  67.             int m = int.Parse((Console.ReadLine()));
  68.             int[][] arr = new int[n][];
  69.             for (int i = 0; i < n; ++i) arr[i] = new int[m];
  70.             Random rnd = new Random();
  71.  
  72.             // input
  73.             for (int i = 0; i < n; ++i)
  74.             {
  75.                 for (int j = 0; j < m; ++j)
  76.                 {
  77.                     arr[i][j] = rnd.Next(10);
  78.                 }
  79.             }
  80.  
  81.             Console.WriteLine("\nInitial array:");
  82.             output(arr);
  83.  
  84.             // sort by rows
  85.             for (int i = 0; i < n; ++i)
  86.             {
  87.                 Array.Sort(arr[i]);
  88.             }
  89.  
  90.             Console.WriteLine("\nSorted by rows:");
  91.             output(arr);
  92.  
  93.             // sort by cols
  94.             for (int j = 0; j < m; ++j)
  95.             {
  96.                 for (int k = 0; k < n; ++k)
  97.                 {
  98.                     for (int i = 0; i < n - 1; ++i)
  99.                     {
  100.                         if (arr[i][j] > arr[i + 1][j])
  101.                         {
  102.                             int tmp = arr[i + 1][j];
  103.                             arr[i + 1][j] = arr[i][j];
  104.                             arr[i][j] = tmp;
  105.                         }
  106.                     }
  107.                 }
  108.             }
  109.  
  110.             Console.WriteLine("\nSorted by cols:");
  111.             output(arr);
  112.         }
  113.  
  114.         static void Main(string[] args)
  115.         {
  116.             Console.Write("Choose the part that you want (1/2): ");
  117.             string choice = Console.ReadLine();
  118.             if (choice == "1") part1();
  119.             else if (choice == "2") part2();
  120.             else Console.WriteLine("Non-existent option, exiting...");
  121.         }
  122.     }
  123. }
  124.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement