Advertisement
Sovun

Untitled

Oct 6th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.18 KB | None | 0 0
  1. using System;
  2. using MyCoolerLibrary;
  3.  
  4. namespace Lab5
  5. {
  6.     class Program
  7.     {
  8.         static int Average(int[] a, int n)
  9.         {
  10.  
  11.             int Sum = 0;
  12.             for (int i = 0; i < n; i++)
  13.             {
  14.                 Sum += a[i];
  15.             }
  16.             Sum /= n;
  17.             return Sum;
  18.         }
  19.         static void delete(int[] a, ref int n, int av)
  20.         {
  21.  
  22.             //int Sum = 0;
  23.             int k = 0;
  24.             for (int i = 0; i < n; i++)
  25.                 if (a[i] == av)
  26.                 {
  27.  
  28.                     for (int j = i; j < n - 1; j++)
  29.                         a[j] = a[j + 1];
  30.                     k++;
  31.                 }
  32.             n -= k;
  33.  
  34.             return;
  35.         }
  36.         static void Main(string[] args)
  37.         {
  38.             bool ok = true;
  39.             while (ok)
  40.             {
  41.                 Console.WriteLine("Введите номер задания");
  42.                 int sw = Lib.GetNumberInBounds(1, 3);
  43.                 switch (sw)
  44.                 {
  45.                     case 1:
  46.                         Console.WriteLine("Введите размер массива");
  47.                         int n = Lib.ReadIntNumberPol();
  48.                         int[] arr = new int[n];
  49.                         //Lib.VvodMasRandom(arr, n, 30);
  50.                         Lib.VvodMas(arr, n);
  51.                         Lib.VivodMas(arr, n);
  52.                         int av = Average(arr, n);
  53.                         Console.WriteLine(av);
  54.                         delete(arr, ref n, av);
  55.                         Lib.VivodMas(arr, n);
  56.                         if (n == 0)
  57.                             Console.WriteLine("Массив пуст");
  58.                         Console.ReadLine();
  59.                         break;
  60.  
  61.                     case 2:
  62.                         Console.WriteLine("Введите размер массива");
  63.                         //Console.WriteLine("");
  64.                         int m = Lib.ReadIntNumberPol();
  65.                         int[,] a= new int [m,m];
  66.                         Lib.VvodMasDvRnd(a, m, m, 100);
  67.                        // Lib.VivodMasDv(a, m, m);
  68.                         int[,] b = new int[m, m+1];
  69.                         for (int i = 0; i < m; i++)
  70.                             for (int j = 0; j < m; j++)
  71.                                 b[i, j] = a[i, j];
  72.                          a = new int[m+1, m+1];
  73.                         for (int i = 0; i < m; i++)
  74.                             for (int j = 0; j < m; j++)
  75.                                 a[i, j] = b[i, j];
  76.                         for (int i = 0; i < m; i++)
  77.                         {
  78.                             Console.WriteLine("Введите {0]-ый элемент для столбца",i+1);
  79.                             a[i, m] = Lib.ReadIntNumber();
  80.                         }
  81.                         Lib.VivodMasDv(a, m, m + 1);
  82.                         break;
  83.                     case 3:
  84.                         Console.WriteLine("Введите значение с которым надо удалить элемент ");
  85.                         int K = Lib.ReadIntNumber();
  86.                         Console.WriteLine("Фрмирование рваного массива");
  87.                         Random rnd = new Random();
  88.                         Console.WriteLine("Введите количество строк");
  89.                         int strings = rnd.Next(5, 10);//Lib.ReadIntNumberPol();
  90.                         int[][] jag_arr = new int[strings][];
  91.                         int columns;
  92.                         Console.WriteLine("\n");
  93.                         for (int i = 0; i < strings; i++)
  94.                         {
  95.                             //Console.WriteLine("Введите количество столбцов");
  96.                             //columns = Lib.ReadIntNumberPol();
  97.                             columns = rnd.Next(2, 5);
  98.                             jag_arr[i] = new int[columns];
  99.                             for (int j = 0; j < columns; j++)
  100.                               jag_arr[i][j] = rnd.Next(0, 10);
  101.                         }
  102.                         for (int i = 0; i < jag_arr.Length; i++)
  103.                         {
  104.                             for (int j = 0; j < jag_arr[i].Length; j++)
  105.                                 Console.Write($"{jag_arr[i][j]:####} ");
  106.                             Console.WriteLine();
  107.                         }
  108.                         Console.WriteLine("\n");
  109.                         int per = 0;
  110.                         //int[] tmp=jag_arr[strings-1];
  111.                         for (int i = jag_arr.Length-1; i>=0; i--)
  112.                         {
  113.                             bool flag = false;
  114.                             foreach (var element in jag_arr[i])
  115.                             {
  116.                                 if (element == K) flag = true;
  117.                             }
  118.                             if (flag) jag_arr[i] = null;
  119.                         }
  120.                         int[][] tmp = (int[][])jag_arr.Clone();
  121.                         int p = 0;
  122.                         foreach (var subArr in tmp)
  123.                         {
  124.                             if (subArr != null) {
  125.                                 jag_arr[p] = subArr;
  126.                                 p++;
  127.                             }
  128.                         }
  129.                         Array.Resize(ref jag_arr, p);
  130.                         strings -= per;
  131.                         //jag_arr[strings - 1] = tmp;
  132.                         Console.WriteLine("Результат");
  133.                         for (int i = 0; i < jag_arr.Length; i++)
  134.                         {
  135.                             for (int j = 0; j < jag_arr[i].Length; j++)
  136.                                 Console.Write($"{jag_arr[i][j]:####} ");
  137.                             Console.WriteLine();
  138.                         }
  139.  
  140.                         break;
  141.                 }
  142.                 Console.WriteLine("1-продолжить 2-закончить");
  143.                 int vvod = Lib.GetNumberInBounds(1, 2);
  144.                 if(vvod==2)
  145.                     ok = false;
  146.                    
  147.             }
  148.         }
  149.          
  150.     }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement