Написать программу, которая рекурсивно выведет сначала левую половину массива, затем правую - C#
Формулировка задачи:
что-то я туплю с задачей.
Написать программу, которая рекурсивно выведет сначала левую половину массива, затем правую.
Например, есть массив 1 2 3 4 5 6 7 8 9 10, результат работы программы:
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5
1 2 3
1 2
1
2
3
4 5
4
5
6 7 8 9 0
6 7 8
6 7
6
7
8
9 0
9
0
буду рвз алгоритму ее решения. заранее спасибо.
Решение задачи: «Написать программу, которая рекурсивно выведет сначала левую половину массива, затем правую»
textual
Листинг программы
static void Main(string[] args)
{
int[] Mass = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
MassOut(Mass, 0, Mass.Length);
Console.Read();
}
static void MassOut(int[] Mass, int IFrom, int Length) // целочисленный массив, стартовая позиция вывода, количество выводимых элементов.
{
int i;
for (i = IFrom; i < Length + IFrom; i++)
Console.Write(Mass[i] + " ");
Console.Write('\n');
if (Length > 1) //не имеет смысла вычислять выражения ниже, иначе будет зацикливание
{
i = Length / 2;
MassOut(Mass, IFrom, Length - i);
MassOut(Mass, Length - i + IFrom, i);
}
}