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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...