Loading...
Idriz1983 avatar Idriz1983 5 Точки

Реших задачата обаче judge ми дава 80/100 точки,къде мие проблема немога да го открия?Ето и задачата,помогнете ми моля?

Write a program that receives an array and number of rotations you have to perform (first element goes at the end) Print the resulting array.

Examples

Input

Output

51 47 32 61 21

2

32 61 21 51 47

32 21 61 1

4

32 21 61 1

2 4 15 31

5

4 15 31 2

 

 

using System;
using System.Linq;

namespace _04.ArrayRotation
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] array = Console.ReadLine().Split().Select(int.Parse).ToArray();
            int rotation = int.Parse(Console.ReadLine());
            int[] input = new int[array.Length];
            for (int i = 0; i < rotation; i++)
            {
                int firstElement = array[0];
                for (int j = 0; j <array.Length-1; j++)
                {
                    input[j] = array[j + 1];
                }
                input[array.Length - 1] = firstElement;
                for (int k = 0; k < array.Length; k++)
                {
                    array[k] = 0;
                    array[k] = input[k];
                }
            }
            Console.WriteLine(string.Join(" ",input));
        }
    }
}
 

Тагове:
1
C# Fundamentals
krum_43 avatar krum_43 756 Точки
Best Answer

Здравей колега,

Тук няма смисъл да декларираш втори масив.Спокойно можеш да направиш ротацията и с един.

Ето ти кода ,който според мен работи:

 

 

using System;
using System.Linq;

namespace ArrayRotation
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] array = Console.ReadLine().Split().Select(int.Parse).ToArray();
            int rotation = int.Parse(Console.ReadLine());
            int[] input = new int[array.Length];
            for (int i = 0; i < rotation; i++)
            {
                int firstElement = array[0];
                for (int j = 0; j < array.Length - 1; j++)
                {
                    array[j] = array[j + 1];
                }
                array[array.Length - 1] = firstElement;               
            }
            Console.WriteLine(string.Join(" ", array));
        }
    }
}
 

0
04/07/2021 12:51:46
Idriz1983 avatar Idriz1983 5 Точки

Thank you.

Благодаря.

1
Axiomatik avatar Axiomatik 2422 Точки

Second half of your array-manipulation is not necessary, especially:

                for (int k = 0; k < array.Length; k++)
                {
                    array[k] = 0;
                    array[k] = input[k];
                }

See below demo with string[], which is based on the same logic you apply in your code:

            string[] input = Console.ReadLine().Split();
            int n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n; i++)
            {
                string[] newInput = new string[input.Length];
                string oldElement = input[0];
                for (int i2 = 0; i2 < input.Length - 1; i2++)
                {
                    newInput[i2] = input[i2 + 1];
                }
                newInput[input.Length - 1] = oldElement;

                input = newInput;
            }

Best,

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.