Zum Inhalt springen

Wie komme ich auf das Ergebnis dieses Progs?


Empfohlene Beiträge

Geschrieben

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);

}

Geschrieben

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

Geschrieben

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 :)

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...