Benötigen Sie Hilfe bei der folgenden Frage? Ich war auf diese getestet und es versäumt, und wirklich wollen, um die Antwort kennen, so dass ich es studieren kann ....Verwenden Sie die Rekursion, um den übergeordneten Wert und den untergeordneten Wert sowie den untergeordneten Wert aller untergeordneten Elemente zu erhalten
Nehmen wir eine Liste (C#) von Objekten in Pyramidenstruktur mit den folgenden Eigenschaften:
- ID
- name
- Wert
- parentid
Beispiel (C#):
Schreiben Sie eine rekursive Funktion, die eine ID als einzigen Parameter akzeptiert und ein Array oder eine Liste mit einer unbestimmten Größe und Anzahl von Ebenen durchläuft. Die rekursive Funktion wird
berechnenblock block1 = new block(1, null, "block 1", 11.34M);
block block11 = new block(11, 1, "block 11", 234.34M);
block block111 = new block(111, 11, "block 111", 111);
block block12 = new block(12, 1, "block 12", 564);
block block13 = new block (13, 1, "block 13", 342.23M);
block block131 = new block(131, 13, "block 131", 945);
block block132 = new block(132, 13, "block 132", 10M);
block block133 = new block(133, 13, "block 133", 88M);
block block1331 = new block(1331, 133, "block 1331", 45);
block block2 = new block(2, null, "block 2", 234);
block block3 = new block(3, null, "block 3", 1249.34M);
blocks = new List<block>();
blocks.Add(block1);
blocks.Add(block11);
blocks.Add(block111);
blocks.Add(block12);
blocks.Add(block13);
blocks.Add(block131);
blocks.Add(block132);
blocks.Add(block133);
blocks.Add(block1331);
blocks.Add(block2);
blocks.Add(block3);
decimal sum = SumAll(1);
Console.WriteLine(sum);
Console.ReadKey();
}
Ich brauche eine Funktion, die mir total „Wert“ aus dem „Wert“ Eigenschaft für die Eltern und alle ihre Kinder und ihre Kindeskinder gibt. Kann jemand helfen?
public class block
{
public block() { }
public block(int id, int? parentid, string name, decimal value)
{
this.id = id;
this.parentid = parentid;
this.name = name;
this.value = value;
}
public int id { get; set; }
public int? parentid { get; set; }
public string name { get; set; }
public decimal value { get; set; }
}
Sie können Ihre Frage bearbeiten; Versuchen Sie nicht, Code in Kommentare einzufügen. – Blorgbeard
Auch: Sie müssen eine spezifischere Frage stellen. "Bitte implementieren Sie dieses Programm von meiner Kopie + eingefügte Spezifikation" ist keine Frage. Was stimmt nicht mit dem Code, den du geschrieben hast? Veröffentlichen Sie Ihren Versuch und erklären Sie genau, was es falsch macht. – Blorgbeard
sieht aus, als hättest du deine Frage nicht beantwortet ... – mmcrae