SilentHunter Geschrieben 16. Januar 2005 Geschrieben 16. Januar 2005 Hallo zusammen, ich hab bald Informatikprüfung und zur Vorbereitung wurde uns folgedes Programm gegeben mit der Frage welchen Wert das Prog ausrechnet. Das Ergebnis ist 84. Ich sitz nun seit zwei Tagen da un versuche auf das Ergebnis zu kommen. Aber ich komme jedesmal auf 83. Kann mir jemand erklären wir sich das zusammen rechnet? Mit diesen Vektoren hab ich irgendwie noch nicht wirklich gearbeitet. Danke im vorraus. #include<stdio.h> main() { int fred[5][7]; int i,j,k; k=4; for (i=0;i<5;i++) for (j=0;j<7;j++) { fred[j]=k; k=k+1; } k=0; for (i=3;i<4;i++) for (j=2;j<5;j++) k=k+fred[j]; printf("\n Ergebnis: %d \n",k); }
Der Kleine Geschrieben 16. Januar 2005 Geschrieben 16. Januar 2005 Du summierts unten auf : fred[3][2]=27 fred[3][3]=28 fred[3][4]=29 in Summe : 84
tuxfriend Geschrieben 16. Januar 2005 Geschrieben 16. Januar 2005 Um das ganze mal etwas genauer auszuführen: Ich würde in diesem Fall am Ende des Programmes anfangen, um nicht unnötig viele Werte des Vektors ausrechnen zu müssen. Hier sagen dir die beiden Schleifen, dass du nur die Werte 2,3,4 des Arrays fred[3] brauchst. In der Schleife "for (j=0;j<7;j++)" wird die Variable k 7 Mal um den Wert 1 erhöht. Diese Schleife wird durch die Schleife "for (i=0;i<5;i++)" zunächst 3 Mal betreten. Also wird der Ursprungswert von k um 3*7 = 21 erhöht. Der Eingangswert von k beim vierten Durchlauf der Schleife "for (i=0;i<5;i++)", in dem das Array fred[3] gefüllt wird ist also 4+3*7 = 25. Jetzt muß noch bestimmt werden welche Werte die Elemente 2,3 und 4 des Arrays fred[3] in der Schleife "for (j=0;j<7;j++)" erhalten. Zunächsteinmal wird k für die Durchläufe j=0 und j=1 noch um 2 erhöht, hat also den Wert 27. Für die nächsten 3 Werte von j sind neben dem steigenden Wert von k auch die Werte der Arrayelemente interessant. Diese Entwickeln sich folgendermaßen: fred[3][2]=27; k=28 fred[3][3]=28; k=29 fred[3][4]=29; k=30 Weitere Werte benötigst du nicht, nur diese 3 Werte werden in den letzten beiden Schleifen aufsummiert und Ergeben den Wert 84. Ich hoffe das hilft dir weiter. Gruß Nils
SilentHunter Geschrieben 16. Januar 2005 Autor Geschrieben 16. Januar 2005 tuxfriend danke das du dir die Mühe gemacht hast es Schritt für Schritt zu erklären. Besten dank dafür. Hat mir sehr geholfen. Danke auch der_kleine. Aber mit der Antwort allein wäre ich verwirter als vorher
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden