Листинг:
using System;
using System.Linq;
namespace Lab2ver3
{
//class for uniting and sorting arrays
public class MatrixWorker
{
//array printing method
public static void MatrixPrinter(int[] A)
{
Console.WriteLine("Result array: ");
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine(string.Join(",", A));
}
//array printing method for 2 arrays (first overlock)
public static void MatrixPrinter(int[] A, int[] B)
{
Console.WriteLine("First array: ");
Console.WriteLine(string.Join(",", A));
Console.WriteLine("Second array: ");
Console.WriteLine(string.Join(",", B));
}
//array combining method
public static void MatrixAdditiver(int[] A, int[] B)
{
int[] C = new int[A.Length + B.Length];
C = A.Concat(B).ToArray();
}
//array sorting method
public static int[] MatrixSorter(int[] massive)
{
if (massive.Length == 1)
return massive;
int mid_point = massive.Length / 2;
return MatrixMerger(MatrixSorter(massive.Take(mid_point).ToArray()), MatrixSorter(massive.Skip(mid_point).ToArray()));
}
//array merging method
public static int[] MatrixMerger(int[] array1, int[] array2)
{
int a = 0, b = 0;
int[] merged = new int[array1.Length + array2.Length];
for (int i = 0; i < array1.Length + array2.Length; i++)
{
if (b < array2.Length && a < array1.Length)
if (array1[a] > array2[b] && b < array2.Length)
merged[i] = array2[b++];
else
merged[i] = array1[a++];
else
if (b < array2.Length)
merged[i] = array2[b++];
else
merged[i] = array1[a++];
}
return merged;
}
//array filling method
public static void MatrixFiller(int[] FArray, int[] SArray)
{
for (int i = 0; i < FArray.Length; i++)
{
Random rnd1 = new Random();
FArray[i] = rnd1.Next(300);
}
for (int i = 0; i < SArray.Length; i++)
{
Random rnd2 = new Random();
SArray[i] = rnd2.Next(300);
}
MatrixPrinter(FArray, SArray);
MatrixAdditiver(FArray, SArray);
}
public static void MatrixCreator(int FirstMatrixLenght, int SecondMatrixLenght)
{
int[] FirstMatrix = new int[FirstMatrixLenght];
int[] SecondMatrix = new int[SecondMatrixLenght];
MatrixFiller(FirstMatrix, SecondMatrix);
}
//method for input lenght of an arrays
public static void inputMethod()
{
int FirstMatrixLenght;
int SecondMatrixLenght;
Console.WriteLine("Please, enter a number of elements in first matrix");
//Query dimension of the first array
FirstMatrixLenght = int.Parse(Console.ReadLine());
Console.WriteLine("Please, enter a number of elements in second matrix");
//Query dimension of the second array
SecondMatrixLenght = int.Parse(Console.ReadLine());
MatrixCreator(FirstMatrixLenght, SecondMatrixLenght);
}
}
class Program
{
static void Main(string[] args)
{
MatrixWorker.inputMethod();
int[] C = MatrixWorker.MatrixSorter();
Console.ReadLine();
}
}
}
_______________________________________________________________________________
Ошибки:
Ни одна из перегрузок метода MatrixAdditiver не принимает 2 аргументов
Помогите разобраться ((
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.