Hallo. Ich hab ein neues Problem. Es soll eine Funktion geschrieben werden die einen 2D Vektor bekommt. Als Rückgabewert
soll sie das Minimum jeder Reihe liefern. Also z.B.:
{1,2,3,4,5}, // Minimum der Reihe ist 1
{5,6,7,8,9}, // Minimum der Reihe ist 5
{20,21,34,56,100} // Minimum der Reihe ist 20
1 + 5 + 20 = 26
Also soll 26 zurückgegeben werden.
Es ist übrigens gewährleistet das es keine leeren Vektoren gibt und sie immer positive Werte enthalten.
Mein Code bisher:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
int sum_of_minimums(const std::vector<std::vector<int>> &numbers)
{
int sum = numbers[0][0];
for (int y=0; y < 5; y++)
{
for (int x=0; x < 5; x++)
{
if (sum > numbers[y][x])
sum = numbers[y][x];
}
}
return sum;
}
|
Das dürfte nur Funktionieren wenn jede Reihe des Vektors 5 Elemente hat. Auch liefert es nur das Minimum alle Zahlen und nicht für jede Reihe.
Wie schaffe ich es jetzt, dass die größe des Vektors flexibel sein kann und wie bekomme ich das Minimum jeder Reihe?