Ochkasty_Dino

Practicum7-VI-5

Nov 18th, 2019
119
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp2
  8. {
  9.     class Program
  10.     {
  11.         static int[,] Input(out int n, out int m)
  12.         {
  13.             Console.WriteLine("введите размерность массива");
  14.             Console.Write("n = ");
  15.             n = int.Parse(Console.ReadLine());
  16.             Console.Write("m = ");
  17.             m = int.Parse(Console.ReadLine());
  18.             //выделяем памяти больше чем необходимо
  19.             int[,] a = new int[n + 100, m]; //веделяем память под массив с избытком
  20.             for (int i = 0; i < n; i++)
  21.             {
  22.                 for (int j = 0; j < m; j++)
  23.                 {
  24.                     Console.Write("a[{0},{1}]= ", i, j);
  25.                     a[i, j] = int.Parse(Console.ReadLine());
  26.                 }
  27.             }
  28.             return a;
  29.         }
  30.         static void Print(int[,] a, int n, int m)
  31.         {
  32.             for (int i = 0; i < n; i++)
  33.             {
  34.                 for (int j = 0; j < m; j++)
  35.                 {
  36.                     Console.Write("{0,5} ", a[i, j]);
  37.                 }
  38.                 Console.WriteLine();
  39.             }
  40.         }
  41.         static void Add(int[,] a, ref int n, int m, int k)
  42.         {
  43.             for (int i = n; i > k; i--)
  44.             {
  45.                 for (int j = 0; j < m; j++)
  46.                 {
  47.                     a[i, j] = a[i - 1, j];
  48.                 }
  49.             }
  50.             ++n;
  51.            
  52.             for (int j = 0; j < m; j++)
  53.             {
  54.                
  55.                 a[k, j] = 0;
  56.             }
  57.         }
  58.         static void Main()
  59.         {
  60.             int n, m,k;
  61.             int[,] a = Input(out n, out m);
  62.             Console.WriteLine("Исходный массив:");
  63.             Print(a, n, m);
  64.             for (int i = 0; i < n; i++)
  65.             {
  66.                 k = 0;
  67.                 for (int j = 0; j < m; j++)
  68.                 {
  69.                    if (a[i,j]==0)
  70.                    {
  71.                         k++;
  72.                    }
  73.                 }
  74.                 if (k==0)
  75.                 {
  76.                     Add(a, ref n, m, i+1);
  77.                 }
  78.             }
  79.  
  80.             Console.WriteLine("Измененный массив:");
  81.             Print(a, n, m);
  82.         }
  83.     }
  84. }
RAW Paste Data