Advertisement
Sephinroth

prac 7 ex 4 with stepped array

Nov 17th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.10 KB | None | 0 0
  1. // считать, транспонировать исходную матрицу, вставить вектор, транспонировать ещё раз
  2. // или
  3. // считать ступенчатым, но вместо строк считать столбцы
  4.  
  5.  
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10.  
  11. namespace practice
  12. {
  13.     class Program
  14.     {
  15.         static void Input (out int[][]array)
  16.         {
  17.             Console.Write("Введите размерность матрицы n: ");
  18.             int n = int.Parse(Console.ReadLine());
  19.             array = new int[n][];
  20.             for (int i = 0; i < array.Length; i++)
  21.             {
  22.                 array[i] = new int[n];
  23.                 for (int j = 0; j < array[i].Length; j++)
  24.                 {
  25.                     Console.Write("a[{0}][{1}]: ", i, j);
  26.                     array[i][j] = int.Parse(Console.ReadLine());
  27.                 }
  28.             }
  29.         }
  30.         static void Input (out int[] vector)
  31.         {
  32.             Console.Write("Введите длину вектора l: ");
  33.             int l = int.Parse(Console.ReadLine());
  34.             vector = new int[l];
  35.             for (int i = 0; i < vector.Length; i++)
  36.             {
  37.                 Console.Write("X[{0}]: ", l);
  38.                 vector[i] = int.Parse(Console.ReadLine());
  39.                 }
  40.         }
  41.         /*static void Transparent(int[,] array)
  42.         {
  43.             int temp = 0;
  44.             for (int i = 0; i < array.Length; i++)
  45.                 for (int j = 0; j < i; j++)
  46.                 {
  47.                     temp = array[i,j];
  48.                     array[i,j] = array[j,i];
  49.                     array[j,i] = temp;
  50.                 }
  51.         }*/
  52.         static void Change(int[][] array, int[] vector)
  53.         {
  54.            
  55.             for (int i = 0; i < array.Length; i++)
  56.            
  57.                 for (int j = 1; j < array[i].Length; j+=2)
  58.                
  59.                    
  60.                     if (i > vector.Length)
  61.                     {
  62.                         Array.Resize(ref array[i], array[i].Length + 1);
  63.                         array[i][j] = ' ';
  64.                     }   else
  65.                         array[i][j] = vector[i];    
  66.             if (vector.Length > array.Length)
  67.             {
  68.                 int n = array.Length;
  69.                 Array.Resize(ref array, vector.Length);
  70.                 for (int i = n; i < array.Length; i++)
  71.                 {
  72.                     array[i] = new int[]
  73.                     for (int j = 0; j < array[i].Length; j+=2)
  74.                         array[i][j] = vector[i];
  75.                 }
  76.             }
  77.                 }
  78.  
  79.         static void Print(int[][] array)
  80.         {
  81.             for (int i = 0; i < array.Length; i++)
  82.             {
  83.                 for (int j = 0; j < array[i].Length; j++ )
  84.                     Console.Write("{0} ", array[i][j]);
  85.                 Console.WriteLine();
  86.             }
  87.         }
  88.  
  89.  
  90.         static void Main(string[] args)
  91.         {
  92.             int[][] array;
  93.             int[] vector;
  94.             Input(out array);
  95.             Input(out vector);
  96.             Change(array, vector);
  97.             Print(array);
  98.             Console.ReadKey();
  99.            
  100.  
  101.  
  102.         }
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement