Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Drawing;
- namespace x
- {
- public class Array
- {
- private int Size;
- private int[] FirstItemArray;
- public int GetSize() { return Size; }
- public int[] GetFirstItemArray() { return FirstItemArray; }
- public Array() { }
- public Array(int[] FirstItemArray, int Size)
- {
- this.FirstItemArray = FirstItemArray;
- this.Size = Size;
- }
- public virtual void InputItemArray()
- {
- Random r = new Random();
- for (int i = 0; i < FirstItemArray.Length; i++)
- {
- FirstItemArray[i] = r.Next(-10, 10);
- }
- }
- public virtual void OutputItemArray()
- {
- for (int i = 0; i < FirstItemArray.Length; i++)
- {
- Console.Write(FirstItemArray[i] + "\t");
- }
- }
- public void ChengeElement()
- {
- for (int i = 0; i < Size; i++)
- {
- if (FirstItemArray[i] < 0)
- {
- FirstItemArray[i] = 0;
- }
- }
- }
- }
- public class DoubleArray : Array
- {
- private int[] SecondItemArray;
- public DoubleArray()
- {
- }
- public DoubleArray(int[] FirstItemArray, int[] SecondItemArray, int Size) : base(FirstItemArray, Size)
- {
- this.SecondItemArray = SecondItemArray;
- }
- public override void InputItemArray()
- {
- Random r = new Random();
- for (int i = 0; i < GetSize(); i++)
- {
- GetFirstItemArray()[i] = r.Next(-10, 10);
- SecondItemArray[i] = r.Next(-10, 10);
- }
- }
- public override void OutputItemArray()
- {
- Console.WriteLine("\nЕлементи першого массива: ");
- for (int i = 0; i < GetSize(); i++)
- {
- Console.Write(GetFirstItemArray()[i] + "\t");
- }
- Console.WriteLine("\nЕлементи другого массива: ");
- for (int i = 0; i < GetSize(); i++)
- {
- Console.Write(SecondItemArray[i] + "\t");
- }
- }
- public double InnerProduct()
- {
- int result = 0;
- for (int idx = 0; idx < GetSize(); ++idx)
- result += GetFirstItemArray()[idx] * SecondItemArray[idx];
- return result;
- }
- }
- class Program
- {
- public static double AverageGeom(Array array)
- {
- double agr = 1.0;
- foreach (int i in array.GetFirstItemArray())
- agr *= i;
- return Math.Pow(agr, 1.0 / array.GetFirstItemArray().Length);
- }
- static void Main()
- {
- int size = 10;
- int[] arr = new int[size];
- Array array = new Array(arr, size);
- array.InputItemArray();
- array.OutputItemArray();
- Console.WriteLine();
- Console.WriteLine("\n Середнє геометричне: " + AverageGeom(array));
- array.ChengeElement();
- Console.WriteLine();
- array.OutputItemArray();
- int[] firstArr = new int[size];
- int[] secondArr = new int[size];
- DoubleArray doubleArray = new DoubleArray(firstArr, secondArr, size);
- doubleArray.InputItemArray();
- doubleArray.OutputItemArray();
- Console.WriteLine("\n Скалярний добуток: " + doubleArray.InnerProduct());
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment