Vla_DOS

Array OOP

Nov 5th, 2022 (edited)
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.71 KB | None | 0 0
  1. using System;
  2. using System.Drawing;
  3.  
  4. namespace x
  5. {
  6.     public class Array
  7.     {
  8.         private int Size;
  9.         private int[] FirstItemArray;
  10.  
  11.         public int GetSize() { return Size; }
  12.         public int[] GetFirstItemArray() { return FirstItemArray; }
  13.         public Array() { }
  14.         public Array(int[] FirstItemArray, int Size)
  15.         {
  16.             this.FirstItemArray = FirstItemArray;
  17.             this.Size = Size;
  18.         }
  19.  
  20.         public virtual void InputItemArray()
  21.         {
  22.             Random r = new Random();
  23.             for (int i = 0; i < FirstItemArray.Length; i++)
  24.             {
  25.                 FirstItemArray[i] = r.Next(-10, 10);
  26.             }
  27.         }
  28.         public virtual void OutputItemArray()
  29.         {
  30.             for (int i = 0; i < FirstItemArray.Length; i++)
  31.             {
  32.                 Console.Write(FirstItemArray[i] + "\t");
  33.             }
  34.         }
  35.         public void ChengeElement()
  36.         {
  37.             for (int i = 0; i < Size; i++)
  38.             {
  39.                 if (FirstItemArray[i] < 0)
  40.                 {
  41.                     FirstItemArray[i] = 0;
  42.                 }
  43.             }
  44.         }
  45.     }
  46.     public class DoubleArray : Array
  47.     {
  48.         private int[] SecondItemArray;
  49.         public DoubleArray()
  50.         {
  51.         }
  52.  
  53.         public DoubleArray(int[] FirstItemArray, int[] SecondItemArray, int Size) : base(FirstItemArray, Size)
  54.         {
  55.             this.SecondItemArray = SecondItemArray;
  56.         }
  57.  
  58.         public override void InputItemArray()
  59.         {
  60.             Random r = new Random();
  61.             for (int i = 0; i < GetSize(); i++)
  62.             {
  63.                 GetFirstItemArray()[i] = r.Next(-10, 10);
  64.                 SecondItemArray[i] = r.Next(-10, 10);
  65.             }
  66.         }
  67.  
  68.         public override void OutputItemArray()
  69.         {
  70.             Console.WriteLine("\nЕлементи першого массива: ");
  71.  
  72.             for (int i = 0; i < GetSize(); i++)
  73.             {
  74.                 Console.Write(GetFirstItemArray()[i] + "\t");
  75.             }
  76.             Console.WriteLine("\nЕлементи другого массива: ");
  77.             for (int i = 0; i < GetSize(); i++)
  78.             {
  79.                 Console.Write(SecondItemArray[i] + "\t");
  80.             }
  81.         }
  82.  
  83.         public double InnerProduct()
  84.         {
  85.             int result = 0;
  86.             for (int idx = 0; idx < GetSize(); ++idx)
  87.                 result += GetFirstItemArray()[idx] * SecondItemArray[idx];
  88.             return result;
  89.         }
  90.  
  91.     }
  92.     class Program
  93.     {
  94.         public static double AverageGeom(Array array)
  95.         {
  96.             double agr = 1.0;
  97.             foreach (int i in array.GetFirstItemArray())
  98.                 agr *= i;
  99.             return Math.Pow(agr, 1.0 / array.GetFirstItemArray().Length);
  100.         }
  101.  
  102.         static void Main()
  103.         {
  104.             int size = 10;
  105.             int[] arr = new int[size];
  106.             Array array = new Array(arr, size);
  107.             array.InputItemArray();
  108.  
  109.             array.OutputItemArray();
  110.             Console.WriteLine();
  111.             Console.WriteLine("\n Середнє геометричне: " + AverageGeom(array));
  112.             array.ChengeElement();
  113.             Console.WriteLine();
  114.             array.OutputItemArray();
  115.  
  116.             int[] firstArr = new int[size];
  117.             int[] secondArr = new int[size];
  118.  
  119.             DoubleArray doubleArray = new DoubleArray(firstArr, secondArr, size);
  120.             doubleArray.InputItemArray();
  121.             doubleArray.OutputItemArray();
  122.             Console.WriteLine("\n Скалярний добуток: " + doubleArray.InnerProduct());
  123.  
  124.             Console.ReadKey();
  125.         }
  126.     }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment