Ich postete this similar, previous question, aber ich war nicht sehr klar.Ändern Sie diese verschachtelte for-Schleife zu Rekursion
Ich habe den folgenden Code:
int N=4;
int[] myArray = new int[N];
for (int i1 = 1; i1 < N; i1++)
myArray[0]=i1;
for (int i2 = 1; i2 < N; i2++)
myArray[1]=i2;
for (int i3 = 1; i3 < N; i3++)
myArray[2]=i3;
for (int i4 = 1; i4 < N; i4++)
{
myArray[3]=i4;
foreach (var item in myArray)
Console.Write(item.ToString());
Console.Write(Environment.NewLine);
}
Dies gibt die folgenden:
1111
1112
1113
1121
1122
1123
1131
....
3332
3333
Gibt es eine einfache Möglichkeit, diese verschachtelte for
Schleife Rekursion zu ändern? Ich bin nicht sehr geschickt im Programmieren, also je einfacher, desto besser. Ich mache mir keine Sorgen darüber, wie effizient der Code ist.
Ich würde effektiv in der Lage sein, die int N
in meinem Code zu verschiedenen Nummern zu ändern, ohne etwas aus meinem Code hinzufügen oder entfernen.
EDIT
Hier ist, was ich bisher habe:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sandbox
{
class Program
{
static void Main(string[] args)
{
int class_length = 4;
int[] toric_class = Enumerable.Repeat(1, class_length).ToArray();
Recursion(toric_class, class_length, 1, 3);
Console.Read();
}
static void Recursion(int[] toric_class, int length, int number, int spot)
{
if (number < 4)
{
toric_class[spot] = number;
foreach (var item in toric_class)
{
Console.Write(item.ToString());
}
Console.Write(Environment.NewLine);
Recursion(toric_class, length, number + 1, spot);
}
}
}
}
Diese nur Ausgänge
1111
1112
1113
Ich bin nicht sicher, wo man von hier geht.
Hausaufgaben? Ansonsten sieht deine Konstruktion mit 5 Loops nicht gut aus. Anstatt über eine Rekursion nachzudenken (erinnern Sie sich an Stack-Überlauf), könnten Sie über Datenstrukturen nachdenken. – mnemonic
Sie sollten die vorherige Frage bearbeiten, damit sie erneut geöffnet werden kann. Ich stimme für das Schließen als Duplikat. – Amy
@mnemonic Nein, keine Hausaufgaben, einfach nur zu meinem eigenen Vorteil. – Bonnaduck