Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

ich will mich erstmal kurz vorstellen:

Ich bin student, belege im moment meinen EDV1 Kurs und da ich noch keinerlei erfahrung mit dem Programmieren habe fällt es mir sehr schwer. Beim googeln bin ich schon öfter auf dieses Forum gestoßen, jetzt bin ich aber an einem Punkt wo mir das recherchieren auch nicht weiter hilft.

Deshalb gleich meine erste Frage.

Die Aufgabe: aus einem Struktogramm das Programm schreiben, welches einfach nur die Fakultäten von 1 bis 10 ausgeben soll.

Dazu sollen die felder 1 bis 3 (also index 0 bis 2) als erstes initialisiert werden und auf dieser grundlage die restlichen fakultäten berechnet werden (mit einer Zählschleife).

Die Ausgabe soll dann mit einer Austrittsbedingung (do, printf(...) while(...)) erfolgen.

Mein Problem müsste in der Berechnungsschleife liegen.

Denn die Ausgabe sieht so aus:

"Hallo! Dies sind die Fakultäten von 1 bis 10:

1 -

2 -

6 -

11087 -

4156214 -

0 -

0 -

0 -

8115058645 -

32767 -

0"

Das ist wirrwarr:)

Hier ist mein Programm, vielleicht erkennt man ja als erfahrener C-ler den Fehler auf anhieb. Ich bedanke mich schonmal recht herzlich für die Hilfe!

#include <stdio.h>

// Programm 3: Felder

int main (void)

{

int feld[10], i; //Feldinitialisierung

feld[0]=1;

feld[1]=2;

feld[2]=6;

for(i==3; i==9; i++) //Berechnungsschleife

{

feld=feld[i-1]*i;

}

printf("Hallo! Dies sind die Fakultäten von 1 bis 10:\n");

i==0;

do

{

if(i<9)

{

printf("%i - \n", feld);

}

else

{

printf("%i\n", feld);

}

i=i++;

}

while(i<11);

return 0;

Danke für die schnelle Antwort!

muss ich für die oberen beider zeilen anstatt == nur ein = schreiben? weil es eine zuweisung sein muss?

und genau das selbe unten, nur andersrum? also wenn ich das änder, zeigt mir das Programm garnichts mehr an.

Also ich wüsste nicht was da sonst falsch sein könnte:s

Bearbeitet von hb1982

muss ich für die oberen beider zeilen anstatt == nur ein = schreiben? weil es eine zuweisung sein muss?

und genau das selbe unten, nur andersrum? also wenn ich das änder, zeigt mir das Programm garnichts mehr an.

Du sollst auch nicht durch ausprobieren und zufall da irgendwelche Zeichen hinmachen sondern dir überlegen wo du etwas zuweisen und wo du etwas vergleichen willst, und bei letzterem wie der Vergleich genau aussehen soll.

Am Besten schaust du nochmal über den Link von Hexagon wie genau die Abbruchsbedingung der for schleife funktioniert.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.