Advertisement
Sephinroth

prac 7 ex 4 with matrix

Nov 17th, 2019
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.60 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,n];
  20.             for (int i = 0; i < array.GetLength(0); i++)
  21.                 for (int j = 0; j < array.GetLength(1); j++)
  22.                 {
  23.                     Console.Write("a[{0}][{1}]: ", i+1, j+1);
  24.                     array[i,j] = int.Parse(Console.ReadLine());
  25.                 }
  26.            
  27.         }
  28.         static void Input (out int[] vector)
  29.         {
  30.             Console.Write("Введите длину вектора l: ");
  31.             int l = int.Parse(Console.ReadLine());
  32.             vector = new int[l];
  33.             for (int i = 0; i < vector.Length; i++)
  34.             {
  35.                 Console.Write("X[{0}]: ", i+1);
  36.                 vector[i] = int.Parse(Console.ReadLine());
  37.                 }
  38.         }
  39.        
  40.         static void Change(int[,] array, int[] vector)
  41.         {
  42.            
  43.             for (int i = 0; i < array.GetLength(0); i++)
  44.            
  45.                 for (int j = 1; j < array.GetLength(1); j+=2)
  46.                
  47.                    
  48.                     if (i > vector.Length)
  49.                    
  50.                         array[i,j] = '  ';
  51.                         else
  52.                         array[i,j] = vector[i];  
  53.            
  54.             if (vector.Length > array.GetLength(0))
  55.             {
  56.                 int n = array.GetLength(0);
  57.                 for (int i = n; i < array.GetLength(0); i++)
  58.                
  59.                     for (int j = 0; j < array.GetLength(1); j+=2)
  60.                         array[i,j] = vector[i];
  61.             }
  62.                 }
  63.  
  64.         static void Print(int[,] array)
  65.         {
  66.             for (int i = 0; i < array.GetLength(0); i++)
  67.             {
  68.                 for (int j = 0; j < array.GetLength(1); j++ )
  69.                     Console.Write("{0} ", array[i][j]);
  70.                 Console.WriteLine();
  71.             }
  72.         }
  73.  
  74.  
  75.         static void Main(string[] args)
  76.         {
  77.             int[,] array;
  78.             int[] vector;
  79.             Input(out array);
  80.             Input(out vector);
  81.             Change(array, vector);
  82.             Print(array);
  83.             Console.ReadKey();
  84.            
  85.  
  86.  
  87.         }
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement