Minimum der Elemente der Matrix

Hallo
Wie kann man aus dem folgendem Code das minimum der Elemente ausgeben anstatt die Summe der Matrx.

 /\* sum values in my strip \*/
 total = 0;
 for (i = first; i 
Danke Elvis

[MOD: Code zur besseren Lesbarkeit in pre-Tags gesetzt.]

Hallo Elvis,

Leider hast du einiges ausgelassen.
Ich habe keine Ahnung welchen Datentyp du verwendest.
Deshalb weiss ich auch nicht welche MAX_xxx Konstante du einsetzen musst.

Wie kann man aus dem folgendem Code das minimum der Elemente
ausgeben anstatt die Summe der Matrx.

#include 

 total = MAX\_????; // da musst du selbst das richtige einsetzen


> /\* sum values in my strip \*/  
> total = 0;

 total = MAX\_????; // da musst du selbst das richtige einsetzen


> for (i = first; i total += matrix[i][j];

 total = (matrix[i][j] printf("the total is %d\n", total);
 printf("the minimum is %d\n", total);

MfG Peter(TOO)

Hallo.

Indem du nicht in total die Summe reinschreibst, sondern den bisher kleinsten gefundenen Wert. Da sollte die Variable dann auch nicht mehr total heißen, dass würde sonst eventuell verwirren. Wenn die Werte, die in der Matrix stehen, immer positiv sind, dann ginge das so:

 /\* determine min value in my strip \*/
 min = 0;
 for (i = first; i matrix[i][j])
 min = matrix[i][j];
 mins[myid] = total;
 Barrier();
 if (myid == 0) {
 total = 0;
 for (i = 0; i mins[i])
 min = mins[i];
 printf("the minimum is %d\n", min);

Hm, irgendwie ist das aber mehr als eine Matrix. Du schreibst das Ergebnis in ein Array und suchst dann die Summe (bzw. in diesem Beispiel das Minimum) aus dem Array. Aber das Prinzip sollte ersichtlich sein.

Sebastian.

Nachtrag
Argh, natürlich nicht min = 0, sondern min = irgendwas, was größer als alle möglichen vorkommenden Werte ist.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke allen viel mals, hat geklappt!
Grüsse elvis

Hallo Sebastian,

Argh, natürlich nicht min = 0, sondern min = irgendwas, was
größer als alle möglichen vorkommenden Werte ist.

Funktioniert dann immer noch nicht weil:
if (min > mins[i])
auch geändert werden muss !!

Versuchs Montags nochmal, du scheinst das WE dringend nötig zu haben
:wink:)

MfG Peter(TOO)

Hallo.

Argh, natürlich nicht min = 0, sondern min = irgendwas, was
größer als alle möglichen vorkommenden Werte ist.

Funktioniert dann immer noch nicht weil:
if (min > mins[i])
auch geändert werden muss !!

Hm, verstehe ich nicht, wieso? min enthält da den kleinsten Wert aus der Matrix. Und durch die if-Anweisung prüfe ich, ob in dem mins-Array eventuell noch ein kleinerer Wert vorkommt. Was muss daran noch geändert werden?

Versuchs Montags nochmal, du scheinst das WE dringend nötig zu
haben

Wenn sich das schon so offensichtlich äußert, dann auf jeden Fall. :wink:

Sebastian.

Argh, natürlich nicht min = 0, sondern min = irgendwas, was
größer als alle möglichen vorkommenden Werte ist.

Am einfachsten und allgemeinsten wäre wohl
min = matrix[0][0];

Hallo.

Argh, natürlich nicht min = 0, sondern min = irgendwas, was
größer als alle möglichen vorkommenden Werte ist.

Am einfachsten und allgemeinsten wäre wohl
min = matrix[0][0];

Da hast du natürlich recht. Man muss ja nicht einen Wert haben, der größer ist als alles mögliche, sondern nur einen, der nicht kleiner ist als das Minimum. Und da kann man dann ja irgendeinen Wert aus der Matrix nehmen. Macht das ganze einfacher und leichter zu übernehmen, falls sich mal der Wertebereich der Matrix ändert.

Sebastian.