Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Arrays
- {
- class Program
- {
- static void Main()
- {
- Console.WriteLine("Первый метод - копирование элементов из Первого массива: ");
- Console.WriteLine();
- Console.WriteLine("Введите первое число: ");
- int number1 = int.Parse(Console.ReadLine());
- Console.WriteLine();
- Console.WriteLine("Введите второе число: ");
- int number2 = int.Parse(Console.ReadLine());
- Console.WriteLine();
- var length1 = LengthForArray(number1);
- var length2 = LengthForArray(number2);
- var array1 = ToArray(number1, length1);
- var array2 = ToArray(number2, length2);
- var arrayCopy = ToCopyArray(array1);
- var arrayInsert = InsertInToArray(array2, arrayCopy);
- ToPrintArray(arrayInsert);
- var lengthForStars = 120;
- DrawStars(lengthForStars);
- Console.WriteLine("Второй метод - вставка произвольного элемента в произвольную позицию, в массив из Первого метода:");
- Console.WriteLine();
- var arrayBeforeInsertElement = InsertElementToArray(arrayInsert);
- ToPrintArray(arrayBeforeInsertElement);
- DrawStars(lengthForStars);
- Console.WriteLine("Третий метод - удаление произвольного элемента, из массива во Втором методе: ");
- Console.WriteLine();
- var arrayBeforeDeleteElement = DeleteElementInToArray(arrayBeforeInsertElement);
- Console.WriteLine();
- ToPrintArray(arrayBeforeDeleteElement);
- DrawStars(lengthForStars);
- Console.ReadKey();
- }
- /// <summary>
- /// Вычисление длины числа
- /// </summary>
- /// <param name="number">Число</param>
- /// <returns>Длина числа</returns>
- static byte LengthForArray(int number)
- {
- byte length = 0;
- if (number == 0) length = 1; // если 1-е и 2-е числа = 0 => длина = 1
- while (number != 0)
- {
- number /= 10;
- length++;
- }
- return length;
- }
- /// <summary>
- /// Преобразование числа в массив
- /// </summary>
- /// <param name="number">Число</param>
- /// <param name="length">Длина числа</param>
- /// <returns>Массив</returns>
- static byte[] ToArray(int number, byte length)
- {
- int value = number;
- byte lengthArr = length;
- byte[] array = new byte[lengthArr--];
- while (value != 0)
- {
- array[lengthArr--] = (byte)(value % 10);
- value /= 10;
- }
- return array;
- }
- /// <summary>
- /// Копирование определенного кол-ва элементов из 1-го массива
- /// </summary>
- /// <param name="array">Массив</param>
- /// <returns>Массив из скопированых элементов</returns>
- static byte[] ToCopyArray(byte[] array)
- {
- Console.WriteLine("Введите начальный элемент для копирования: от 0 до {0}", (array.Length - 1));
- byte position1 = byte.Parse(Console.ReadLine());
- Console.WriteLine("Введите конечный элемент для копирования: от " + position1 + " до " + (array.Length - 1));
- byte position2 = byte.Parse(Console.ReadLine());
- byte length = (byte)array.Length;
- byte lengthCopy = (byte)(position2 - position1 + 1);
- byte[] arrayCopy = new byte[lengthCopy];
- for (byte i = 0; i < lengthCopy; i++)
- {
- arrayCopy[i] = array[i + position1];
- }
- return arrayCopy;
- }
- /// <summary>
- /// Вставка массива, состоящего из скопированных элементов в 1-м массиве, во 2-й массив(в опр-ю позицию)
- /// </summary>
- /// <param name="array2">Второй Массив</param>
- /// <param name="arrayCopy">Массив состоящий из скопированных элементов из 1-го массива</param>
- /// <returns>Массив после вставки во 2-й массив</returns>
- static byte[] InsertInToArray(byte[] array2, byte[] arrayCopy)
- {
- Console.WriteLine("Введите номер элемента с которого начнется втавка: от 0 до {0} ", (array2.Length - 1));
- byte position = byte.Parse(Console.ReadLine());
- Console.WriteLine();
- byte lengthCopy = (byte)arrayCopy.Length;
- byte length2 = (byte)array2.Length;
- byte lengthForNewArray = (byte)(length2 + lengthCopy);
- byte[] array = new byte[lengthForNewArray];
- for (byte i = 0; i < length2; i++)
- {
- array[i] = array2[i];
- }
- for (byte i = 0; i < lengthCopy; i++)
- {
- array[i + position] = arrayCopy[i];
- }
- for (byte i = position; i < length2; i++)
- {
- array[i + lengthCopy] = array2[i];
- }
- Console.WriteLine("Готовый:");
- return array;
- }
- /// <summary>
- /// Вставка произвольного числа в произвольную позицию в массиве
- /// </summary>
- /// <param name="array">Массив</param>
- /// <returns>Массив после вставки числа</returns>
- static byte[] InsertElementToArray(byte[] array)
- {
- Console.WriteLine("Массив: ");
- ToPrintArray(array);
- Console.WriteLine("Введите элемент, для последующей вставки его в массив");
- byte element = byte.Parse(Console.ReadLine());
- var lengthElement = LengthForArray(element);
- var arrayElement = ToArray(element, lengthElement);
- var lengthArrayElement = arrayElement.Length;
- byte length = (byte)array.Length;
- var lengthArrayNew = length + 1;
- var arrayNew = new byte[lengthArrayNew];
- Console.WriteLine("Введите позицию для вставки произвольного элемента в массив, от 0 до {0} ", length - 1);
- byte position = byte.Parse(Console.ReadLine());
- for (int i = 0; i < length; i++)
- {
- arrayNew[i] = array[i];
- }
- for (int i = 0; i < lengthArrayElement; i++)
- {
- arrayNew[i + position] = arrayElement[i];
- }
- for (int i = position; i < length; i++)
- {
- arrayNew[i + lengthArrayElement] = array[i];
- }
- Console.WriteLine();
- Console.WriteLine("Готовый:");
- return arrayNew;
- }
- /// <summary>
- /// Удаление произвольного элемента из массива
- /// </summary>
- /// <param name="array">Массив</param>
- /// <returns>Массив после удаления</returns>
- static byte[] DeleteElementInToArray(byte[] array)
- {
- Console.WriteLine("Массив: ");
- ToPrintArray(array);
- var length = array.Length;
- Console.WriteLine("Введите номер элемента для его удаления из массива, от 0 до {0} ", length - 1);
- byte position = byte.Parse(Console.ReadLine());
- var lengthNew = length - 1;
- var arrayNew = new byte[lengthNew];
- for(int i = 0; i < position; i++)
- {
- arrayNew[i] = array[i];
- }
- for(int i = position; i < lengthNew; i++)
- {
- arrayNew[i] = array[i + 1];
- }
- Console.WriteLine("Готовый:");
- return array;
- }
- /// <summary>
- /// Печать Массива
- /// </summary>
- /// <param name="array">Массив</param>
- /// <returns>Массив</returns>
- static byte[] ToPrintArray(byte[] array)
- {
- //Console.WriteLine();
- for (int i = 0; i < array.Length; i++)
- Console.Write(array[i]);
- Console.WriteLine(); Console.WriteLine();
- return array;
- }
- /// <summary>
- /// Печать разделителя в виде "*"
- /// </summary>
- /// <param name="length">Длина - кол-во символов</param>
- static void DrawStars(int length)
- {
- for (int i = 0; i < length; i++)
- Console.Write("*");
- Console.WriteLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement