Seite 1 von 1

String vergleichbar <<x>> zusammenbauen

Verfasst: Fr Apr 29, 2016 10:46 am
von mvp_1991

Code: Alles auswählen

void f(int n){
char* a = calloc(n,sizeof(char));
    for (int i = 0; i < n; i++){
        if (n/2 > i ){
            printf("<");
        }
             
        else{
            printf(">");
        }

    }
}
ich möchte eien Funktion schreiben, die bspw. für f(5) das Muster
<<x>> oder für f(4) das Muster <<>>
ausgibt. Das x soll nur in die Mitte kommen, wenn die Zahl ungerade ist. Wie bekomme ich sowas hin, das das Objekt genau in der Mitte angesprochen wird? Ich möchte quasi diesen Ausdruck irgendwo einbauen if (n/2 != 0){ printf("x")


Edit by Xin: Code-Tags hinzugefügt.

Re: String vergleichbar <<x>> zusammenbauen

Verfasst: Fr Apr 29, 2016 10:55 am
von Xin
Die erste Frage sollte lauten, wie bekomme ich es hin, dass Code in diesem Forum korrekt dargestellt wird.
Antwort: Du nutzt die Code-Tags, die findest Du ggfs. oben in der Formatierungsliste.

Code: Alles auswählen

void f(int n){
char* a = calloc(n,sizeof(char));
    for (int i = 0; i < n; i++){
        if (n/2 > i ){
            printf("<");
        }
             
        else{
            printf(">");
        }

    }
}
Dann stellen wir fest, dass Deine Frage nichts mit Zeigern zu tun hat, also auch nicht in das Topic passt. Da mach bitte ein neues Topic auf.

Kommen wir dann zur eigentlichen Frage:
ich möchte eien Funktion schreiben, die bspw. für f(5) das Muster
<<x>> oder für f(4) das Muster <<>>
ausgibt. Das x soll nur in die Mitte kommen, wenn die Zahl ungerade ist. Wie bekomme ich sowas hin, das das Objekt genau in der Mitte angesprochen wird?
Wann und wie oft musst Du '<' schreiben? Wann und wie oft musst Du 'x' schreiben und abschließend wann und wie oft musst Du '>' schreiben.
Ausrechnen, dann machen.
Ich möchte quasi diesen Ausdruck irgendwo einbauen if (n/2 != 0){ printf("x")
Das glaube ich nicht.
Schau Dir mal den Modulo-Operator an.

Re: String vergleichbar <<x>> zusammenbauen

Verfasst: Fr Apr 29, 2016 10:57 am
von mvp_1991
Ich habe leider einen Fehler beim kopieren gemacht. Natürlich sollte der Ausdruck if (n%2 != 0){ printf("x")
lauten.