Ergebnis 1 bis 6 von 6

Thema: Programm verstehen

  1. #1
    Registered User
    Registriert seit
    Mar 2013
    Beiträge
    7
    Renommee
    10

    Programm verstehen

    Hallo
    hab da dieses Programm, versteh nicht was das Programm macht und warum da eine Variable als "xn" bezeichnet wird.
    Kann mir da wer auf die Sprünge helfen bitte ?
    Code:
    #include <stdio.h>
    int main(void) {
    int xn = 1;
    int k,n;
    scanf("%d",&n);
    if (n>1) {
    for (k=2;k<=n;k++) {
    xn = k-xn;
    printf("%f\n",xn);
    }
    else if (n==1) printf("1\n");
    else printf("-1\n");
    return 0;
    }

  2. #2
    Registered User
    Registriert seit
    Oct 2007
    Beiträge
    246
    Renommee
    234

    AW: Programm verstehen

    Hausaufgaben sind da, um zu lernen.

    du kannst deine Variable nennen wie du willst. ob xn oder abc ist egal

    Code:
    #include <stdio.h> // Standard Header einfügen, um bestimmte Funktionen zur Verfügung zu haben
    int main(void) { // Hauptprogramm
    int xn = 1; // Integervariable mit Name xn wird 1 zugeordnet
    int k,n;   // weitere Integervariablen, welche nicht initialisiert werden
    scanf("%d",&n);    //Dezimalwert in n einlesen (Achtung n ist ein Pointer)
    if (n>1) { //wenn n größer 1 ist, dann wird folgender Block aufgerufen andernfalls der else Block
    for (k=2;k<=n;k++) {  // Schleife von k bis n - jeder Durchlauf erhöht Zähler um eins
    xn = k-xn;  // magische Berechnung
    printf("%f\n",xn); /Ausgabe von xn
    }
    else if (n==1) printf("1\n"); // Else Block mit weiter Bedingung
    else printf("-1\n");  // Zweiter Teil der zweiten Bedingung
    return 0;
    }

  3. #3
    Registered User
    Registriert seit
    Oct 2007
    Beiträge
    246
    Renommee
    234

    AW: Programm verstehen

    Achja, die Ausgaben habe ich weggelassen, entweder du compilierst das Programm selber oder du überlegst, was bei den beiden IF Blöcken rauskommen kann und soll. Einfach mit Beispielen durchrechen.
    Versuchs mit 0, 1, 2, 3, 4 dann verstehst du was passiert und was das Programm macht. Den Rest habe ich oben kommentiert.

  4. #4
    Registered User
    Registriert seit
    Mar 2013
    Beiträge
    7
    Renommee
    10

    AW: Programm verstehen

    Ja hab es ausprobiert, versteh aber nicht warum bei n = 2 eine 1 rauskommt, müsste doch ne 2 rauskommen ? Da k einmal erhöht wird, ist k = 3 und k-xn dann gleich 2.

  5. #5
    Registered User
    Registriert seit
    Oct 2007
    Beiträge
    246
    Renommee
    234

    AW: Programm verstehen

    xn = 1
    n = 2 als input
    k startet bei 2
    1. durchlauf xn = k- xn = 2-1
    2. durchlauf passiert nicht, da dann k3 wäre was k=3 <= n=2 verletzt, deswegen wird abgebrochen?

    ist das damit klar?

  6. #6
    Registered User
    Registriert seit
    Sep 2008
    Beiträge
    402
    Renommee
    270

    AW: Programm verstehen

    @rakoc Installiere dir mal "Visual Studio Express 2012 für Windows Desktop", da ist ein Debugger enthalten. Durch das Single-Steppen durch den Code bekommst du vielleicht eher ein Gefühl, was der Code macht.
    Über das neue Zeitalter der Gehirne eines Menschen!
    echo 'main() { char z[] = "ping "; for(;printf(z);z[1]^=6); }' > a.c; gcc a.c -o a; ./a # 16.11.2011 02:51

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Programm aus einem Programm starten, Linux
    Von snoopdogg2001 im Forum C / C++
    Antworten: 3
    Letzter Beitrag: 27.06.2004, 20:49
  2. Programm öffnet Programm
    Von -Jack- im Forum Windows
    Antworten: 3
    Letzter Beitrag: 02.03.2004, 20:59
  3. RSA-Programm
    Von theblacksheep im Forum (In)Security allgemein
    Antworten: 5
    Letzter Beitrag: 05.08.2003, 18:15
  4. [Programm - Suche] Programm, dass die 0 Vorwählt
    Von Sturm im Forum Technisches Off-Topic
    Antworten: 9
    Letzter Beitrag: 27.04.2001, 16:09
  5. Programm
    Von Kenny00 im Forum (In)Security allgemein
    Antworten: 5
    Letzter Beitrag: 06.12.2000, 16:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •