Выполнить циклический сдвиг массива вниз или вверх на количество шагов - C#

Узнай цену своей работы

Формулировка задачи:

3 Данный рваный (зубчатый) массив, заполненный случайными действительными числами. Выполнить циклический сдвиг массива вниз или вверх на количество шагов

Решение задачи: «Выполнить циклический сдвиг массива вниз или вверх на количество шагов»

textual
Листинг программы
using System;
using System.Collections.Generic;
 
namespace ConsoleApplication
{
    internal static class Program
    {
        private static void Main()
        {
            var randomizer = new Random();
 
            var array = new double[5][];
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = new double[randomizer.Next(5) + 1];
                for (int j = 0; j < array[i].Length; j++)
                {
                    array[i][j] = randomizer.NextDouble() * 10;
                }
            }
            Print(array);
 
            Print(MoveDown(array, 2));
            Print(MoveDown(array, -2));
        }
 
        private static IEnumerable<double[]> MoveDown(IList<double[]> array, int shift)
        {
            var result = new double[array.Count][];
            for (int i = 0; i < array.Count; i++)
            {
                int newIndex = (i - shift + array.Count) % array.Count;
                result[i] = new double[array[newIndex].Length];
                Array.Copy(array[newIndex], result[i], array[newIndex].Length);
            }
            return result;
        }
 
        private static void Print(IEnumerable<double[]> array)
        {
            Console.WriteLine("Array:");
            foreach (double[] row in array)
            {
                foreach (double item in row)
                {
                    Console.Write("{0:0.00} ", item);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы