Arrays und int-Werte
-
Bin selbstschuld habe es nicht genügend genau erklärt...Mein Mitarbeiter hat mir gesagt man kann die Arrays der grösse nach sortieren, wenn man es schafft, dass x immer den Wert des grössten Array hat...
Hab es mit strcpy() versucht, hat nicht funktioniert...
-
Bahnhof.
cheers, Swordfish
-
Ich glaube, ich kann erahnen, was du anstellen willst...
Du willst sortieren und die Arrayelement gegen die Variable x prüfen, die stets das numerisch größte Element enthält. Ziel ist ein sortiertes Array.Jaa?
-
Genau, ich hätte es selber nicht besser erklären können...
-
Hab das probiert:
for (j = 0; j < 4; j++) { x=Noten[j][0]; if (x<=Noten[j][1]) { x=Noten[j][1]; } if (x<=Noten[j][2]) { x=Noten[j][2]; } if (x<=Noten[j][3]) { x=Noten[j][3]; } if (x<=Noten[j][4]) { x=Noten[j][4]; } printf ("\nGruppe %d:\n", j+1); printf ("\nKleinster Wert : ", ); //In Arbeit printf ("\nGr\x94sster Wert : %.2i", x); printf ("\nDurchschnitts Wert: %.2f", (Noten[j][0] + Noten[j][1] + Noten[j][2] + Noten[j][3] + Noten[j][4])/5.); printf ("\n");
Wollte aber nicht richtig funktionieren...
wen ich z.B.
2 2 2 2 6
...eingegeben habe hat es zwei alss grössten Wert angezeigt..
Ich verstehe nicht warum...mfg 08mmarte
-
Hab gerade bemerkt, dass es nur bei der letzten Gruppe richtig funktioniert..
Bei den ersten drei Gruppen gibt es unterschiedliche Resultate auch wen ich bei allen die gleichen Zahle eingebe
-
Schau' mal die Bedingung Deiner for- Schleife an
-
pointercrash() schrieb:
Schau' mal die Bedingung Deiner for- Schleife an
Was stimmt damit nicht??
Ich sehe in der Bedingung kein Fehler...
-
Hallo,
08mmarte schrieb:
pointercrash() schrieb:
Schau' mal die Bedingung Deiner for- Schleife an
Was stimmt damit nicht??
Ich sehe in der Bedingung kein Fehler...Sieht Noten jetzt so aus?:
double Noten [4][5];
Wenn ja:
double-Werte werden z.B. mit der printf-Formatzeichenkette "%f" ausgegeben, aber sicher nicht mit "%.2i".
MfG,
Probe-Nutzer
-
Probe-Nutzer schrieb:
Sieht Noten jetzt so aus?:
double Noten [4][5];
Deine Laufindices passen nicht zum ursprünglich angegebenen Array. ^^^^
-
pointercrash() schrieb:
Probe-Nutzer schrieb:
Sieht Noten jetzt so aus?:
double Noten [4][5];
Deine Laufindices passen nicht zum ursprünglich angegebenen Array. ^^^^
Danke jetzt funktionierts...
-
Probe-Nutzer schrieb:
double Noten [4][5];
Nochmals zu dem, ich weiss nicht mehr wer das war aber irgendjemand hat mir gesagt das es umgekehrt richtig wäre....ich hatte es anfangs so aber habe es dan geändert...
-
Willst Du sowas:
#include <stdlib.h> #include <stdio.h> #define MAX_GRUPPEN 5 #define PERSONEN 4 //Double-Vergleich int compare_double(const void* l, const void* r) { return (*(double*)l - *(double*)r); } int main(void) { //Testdaten double noten[MAX_GRUPPEN][PERSONEN] = { {1, 3, 1, 6}, {3, 3, 1, 6}, {1, 3, 1, 3}, {3, 3, 4, 5}, {6, 3, 2, 6} }; size_t gruppe; //sortieren for(gruppe = 0; gruppe != MAX_GRUPPEN; ++gruppe) { qsort(noten[gruppe], PERSONEN, sizeof(*noten[gruppe]), compare_double); } //Ausgabe for(gruppe = 0; gruppe != MAX_GRUPPEN; ++gruppe) { size_t person; putchar('\n'); for(person = 0; person != PERSONEN; ++person) { printf("Gruppe: %d, Person: %d, Note: %f\n", gruppe, person, noten[gruppe][person]); } } return EXIT_SUCCESS; }
-
Sorry hab vergessen zu erwähnen das ich es bereits erledigt habe, soll heissen bin fertig
-
08mmarte schrieb:
Probe-Nutzer schrieb:
double Noten [4][5];
Nochmals zu dem, ich weiss nicht mehr wer das war aber irgendjemand hat mir gesagt das es umgekehrt richtig wäre....ich hatte es anfangs so aber habe es dan geändert...
wie herum ist egal. es sind immer 20 doubles die direkt aneinander kleben. du kannst auch mit vertauschten indizes auf den speicher zugreifen.
-
Aha...schon wieder etwas gelernt...
-
-fricky- schrieb:
wie herum ist egal. es sind immer 20 doubles die direkt aneinander kleben. du kannst auch mit vertauschten indizes auf den speicher zugreifen.
Ah, ein Beitrag zur Förderung leserlichen Codes?
Zwar sachlich richtig, aber 'nen Anfänger, der Probleme mit der Laufweite einer For- Schleife hat, damit anzufüttern halte ich für etwas unglücklich ...
-
pointercrash() schrieb:
...aber 'nen Anfänger, der Probleme mit der Laufweite einer For- Schleife hat, damit anzufüttern halte ich für etwas unglücklich
naja, er hat ja danach gefragt...