myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Habe keine Ahnung wie ich die Aufgabe machen soll (https://mygully.com/showthread.php?t=2567242)

PwN0GrPhy 09.02.12 15:22

Habe keine Ahnung wie ich die Aufgabe machen soll
 
Tach, ich bin grad mittendrin in meiner Programmier Hausaufgabe, ein Beispiel von zwei hab ich schon fertig. Aber beim zweiten weiss ich nicht weiter. Hab nur die Eingabeaufforderung:
Code:

#include<stdio.h>


int main(void){

    int WochenTag;
    int MonatsTage;
   
   
    //Abfragen
    printf("Am wievielten Tag der Woche beginnt der Monat -> ");
    scanf("%d", &WochenTag);
   
    printf("\n");
   
    printf("Wie viele Tage hat der Monat -> ");
    scanf("%d", &MonatsTage);
   
    printf("\n");
   
   
   
   





    return 0;
}


Hier ist mal die Angabe:
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Ich hoffe das mir da vllt. jemand weiterhelfen kann.

MfG


Edit: Achja bevor ichs vergesse: Das ganze natürlich in C(Wie man ja oben unschwer erkennen kann)

Your_Conscience 09.02.12 15:30

Wie ist die Aufgabenstellung?

PwN0GrPhy 09.02.12 15:38

Zitat:

Zitat von Your_Conscience (Beitrag 23264009)
Wie ist die Aufgabenstellung?


Hab Link schon gepostet =)

Your_Conscience 09.02.12 16:17

Hab ich eben gesehen. :D
Code:

#include <stdio.h>

int main(void){

    int WochenTag;
    int MonatsTage;
    int i, j;
   
    //Abfragen
    printf("Am wievielten Tag der Woche beginnt der Monat -> ");
    scanf("%d", &WochenTag);
   
    printf("\n");
   
    printf("Wie viele Tage hat der Monat -> ");
    scanf("%d", &MonatsTage);
   
    printf("\nAusgabe:\n");

 
    //Ausgabe
    for (i = 0; i < 7; i++) {
        for (j = 0; j < 6; j++) {
            if (i + j * 7 - WochenTag + 2 <= MonatsTage && i + j * 7 >= WochenTag - 1)
              printf("%3d", i + j * 7 - WochenTag + 2);
            else
              printf("  ");
        }
        printf("\n");
    }

    return 0;
}


PwN0GrPhy 09.02.12 16:30

Danke ^-^

Bekommst 'n Thanks und nen Keks :b

urga 09.02.12 18:53

aufs einlesen habe ich verzichtet
meine formatierung ist eine andere, aber in der aufgabenstellung steht ja "beispiel" ;)

wie wärs mit:
PHP-Code:

#include <stdio.h>

int main(void) {
    
int wochenTag 3;
    
int monatsTage 31;
    
/* const */ int tageProWoche 7;
    
int aktuellerTag;

    
printf ("mo di mi do fr sa so\n");

    for (
aktuellerTag 1aktuellerTag <= monatsTageaktuellerTag++) {
        if (
aktuellerTag wochenTag) {
            
printf ("   ");
        }
        else {
            
printf ("%-3d"aktuellerTag);
        }
        if (
aktuellerTag tageProWoche == || aktuellerTag == monatsTage) {
            
printf ("\n");
        }
    }


Code:

urga@kiste:~$ gcc x.c && ./a.out
mo di mi do fr sa so
      3  4  5  6  7 
8  9  10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31


PwN0GrPhy 10.02.12 14:12

Danke @urga. Aber ich glaub ich nehm die von Your_Conscience, kommt mir halt irgendwie schöner vor, von der Formatierung her.

Aber wenn du willst kannst du mir bei einen anderen helfen. Ich habe mir nähmlich grad Aufgabenstellung/Angabe angeschaut und hab bemerkt, dass man alle 3 Beispiele machen muss. -.-
Und jetzt hab ich ein Problem beim 3ten. Hier ist mal die Angabe:
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Den ASCII Code gibt man ja aus indem man z.B. ein A unter einfaches hochkommer stellt('A').
Aber warum geht das bei mir ned S:
Hier der Code:
Code:

#include <stdio.h>

int main(void){

    printf("    *0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19\n");
    printf("*******************************************************\n");
    printf("  0 *\n");
    printf(" 20 *                                '!' '"' '#' '$' '%' '&' '´' \n")


    return 0;
}

MfG

Your_Conscience 10.02.12 15:05

Zitat:

Zitat von PwN0GrPhy
ich glaub ich nehm die von Your_Conscience, kommt mir halt irgendwie schöner vor, von der Formatierung her.

Bei solchen Worten muss ich dir einfach die andere Lösung auch noch posten. :D
Code:

#include <stdio.h>

int main(void){

    int i, j;
    printf("    *");
    for (i = 0; i < 20; i++) printf("%2d ", i);
    printf("\n*****************************************************************\n");
   
    for (j = 0; j < 13; j++) {
        printf("%4d *", j * 20);
        for (i = 0; i < 20; i++) {
            if (j * 20 + i >= 32 && j * 20 + i <= 255)
              printf("%2c ", char(j * 20 + i));
            else
              printf("  ");
        }
        printf("\n");
    }

    return 0;
}

Du solltest allerdings versuchen die Aufgaben auch von alleine zu lösen, da der Lehrer möglicherweise euer algorithmisches Denken schulen will und du beim kopieren nicht viel lernst. :)

Zu deinen Fehlern:
"" ist eine Zeichenkette und ' ' steht für ein einzelnes Zeichen, du kannst also keine ' ' in einer Zeichenkette verwenden.
Das " kann man mit "\"" bzw. als Einzelzeichen mit '\"' ausgeben.

PwN0GrPhy 10.02.12 15:08

Danke jetzt hab ichs :D

Ich weiss schon, dass ich beim kopieren nicht viel lerne, aber wenn man mal ned weiter weiss hilft es einen schon :b


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.