Ich habe ein Problem mit der zweitgrößten Anzahl in meinem Array. Die Sache ist, es funktioniert nicht für alle meine Beispiele. Nachdem ich Zahlen aus der Tastatur gelesen habe, legte ich sie in Methode Test und dann sortiere ich sie .. Beispiel: (Benutzer eingegeben) 1,2,3,4,5,6,7,8,9,10 Ausfahrt: 10,9, .. 3,2,1 Nun möchte ich zweitgrößte Zahl mit for-Schleife anzeigen .. ** Die Aufgabe ist: finden Sie die zweitgrößte Zahl, wenn es möglich ist, wenn nicht CW ("Fehler") **zweiten maximalen Wert in Array finden
im Code Kommentar // HIER bin ich mir nicht sicher, wie man diesen Teil des Codes korrekt umsetzt.
i mein Problem hoffen Sinn macht ...
public static int test(int[] polje)
{
int temp = 0;
Console.WriteLine();
for (int c = 0; c < polje.Length; c++)
{
for (int b = c + 1; b < polje.Length; b++)
{
if (polje[c] > polje[b])
{
temp = polje[c];
polje[c] = polje[b];
polje[b] = temp;
}
}
}
int secondlargest = 0;
//HERE
for (int i = polje.Length - 1; i >= 0; i--)
{
if (polje[polje.Length - 2] == polje[polje.Length - 1] || polje[polje.Length - 2] == 0)
{
Console.WriteLine("Wrong!");
break;
}
else
{
Console.WriteLine("Second largest number is :{0}", polje[polje.Length - 2]);
secondlargest = polje[polje.Length - 2];
break;
}
}
return secondlargest;
}
static void Main(string[] args)
{
int[] polje = new int[10];
Console.WriteLine("Enter values");
for (int i = 0; i < 10; i = i + 1)
{
polje[i] = int.Parse(Console.ReadLine());
if (polje[i] == 0)
{
break;
}
}
test(polje);
Console.ReadLine();
}
}
}
Ist das Hausaufgaben? Weil Sie eine Liste und Sortierung oder LINQ und OrderByDescending und Take (2) verwenden, um die zwei größten Werte zu erhalten. –
Wenn Sie sie bereits sortieren, was ist der Sinn der zweiten Schleife? Je nachdem, ob Sie in aufsteigender oder absteigender Reihenfolge sortieren, können Sie, solange Ihr Array mehr als zwei Datensätze enthält, einfach den zweiten Index des Arrays oder den vorletzten Index des Arrays auswählen. – RizJa
http://stackoverflow.com/questions/14810444/find-the-second-maximum-number-in-an-array-with-the-smallest-complexity – Damith