Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » formale Sprachen » Wie kann man gerade Zahlen und ungerade Zahlen sowie Quadratzahlen in einer for Schleife darstellen in C » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Wie kann man gerade Zahlen und ungerade Zahlen sowie Quadratzahlen in einer for Schleife darstellen in C
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
hey
Grünschnabel


Dabei seit: 02.05.2017
Beiträge: 1

Wie kann man gerade Zahlen und ungerade Zahlen sowie Quadratzahlen in einer for Schleife darstellen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Ich will in einer FOr Schleife die geraden ( 12 bis 0) Zahlen getrennt mit einem Komma, sowie die ungeraden Zahlen (-1 bis -13) getrennt mit einem Komma und die Quadratzahlen darstellen (0 bis 81).
Jedoch kommt da immer ein Fehler

Meine Ideen:
#include <stdio.h>
#include <stdlib.h>

int main() {
int i;
int komma = 0;
for (i = 12; i >= 0; i-=2)
{
if (komma ==1) ;
{
printf (", ");
}
printf ("%d", i);
}
{
int j;
for (j = -1; j<=-13; j-=2)
{if (komma==1);
{printf (", ");
}
printf ("%d",j);

return 0;
}
}
}
02.05.2017 10:54 hey ist offline E-Mail an hey senden Beiträge von hey suchen Nehmen Sie hey in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hier Dein Code formatiert:
#include <stdio.h>
#include <stdlib.h>

code:
1:
2:
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:
int main()
{
    int i;
    int komma = 0;
    for (i = 12; i >= 0; i -= 2)
    {
        if (komma == 1)
            ;
        {
            printf(", ");
        }
        printf("%d", i);
    }
    {
        int j;
        for (j = -1; j <= -13; j -= 2)
        {
            if (komma == 1)
                ;
            {
                printf(", ");
            }
            printf("%d", j);

            return 0;
        }
    }
}

Was mir gleich auffällt: Hinter einem if(...) darfst Du kein ";" schreiben! Da muss direkt der Code-Block kommen, der im Falle, dass der Ausdruck wahr wird, ausgeführt werden soll. Der Codeblock gehört noch zum if() mit dazu und deshalb ist die Anweisung noch gar nicht fertig und darf dann auch nicht mit einem Semikolon vom Block getrennt werden.
Die Variable "komma" wird mit 0 initialisiert, aber ihr Wert wird nie verändert. Wie soll da jemals die Bedingung in Deinen if-Anweisungen wahr werden können, wenn der Wert immer 0 ist, aber auf 1 überprüft wird?
In der zweiten for-Schleife steht ein "return 0;". Das bedeutet, wenn die for-Schleife zum ersten Mal durchlaufen wird, wird das ganze Programm gerade an dieser Stelle beendet. Das kannst Du ja nicht so gewollt haben. Kann es sein, dass das return 0 vor die letzte geschweifte Klammer muss und nicht in den for-Block mit rein?
Bei allen printf-Anweisungen gibst Du nie einen Zeilenumbruch aus. So wird alles in einer Zeile stehen.

Ansonsten ist mir noch nicht so ganz klar, wie die Ausgabe überhaupt aussehen soll. Kannst Du mal von Hand schreiben, wie Du Dir das genau vorstellst?

Gruß
Marco
20.06.2017 12:12 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » formale Sprachen » Wie kann man gerade Zahlen und ungerade Zahlen sowie Quadratzahlen in einer for Schleife darstellen in C