Test Funktion fuer gerade zahlen

waterhog

Mitglied
Kann jemand helfen?
Bin C Beginner, ich muss diese aufgabe loesen bis morgen und weiss nicht weiter:

Die Funktion muss 0 als return haben wenn das Array item ungerade ist und 1 wenn gerade:
Code:
int test_for_evens (int ?(1)?)
{
    int flag = 0;
    if ( data%2 == ?(2)?)
    {
        flag = 1;
    }
    return ( ?(3)?);
}
Ist ?(2)? = 0
Was ist ?(3)? und ?(1)? ?

Es waere nett, wenn mir jemand schnellst moeglich weiterhelfen koennte.
Danke im Voraus an alle die sich die Muehe machen mir zu antworten.
 
Zuletzt bearbeitet:
Antwort auf meine frage zu Geraden Zahlen

Vielen dank fuer die bestaetigung und hilfe Kachelator.

gehe ich in der annahme nicht ganz falsch dass es sich um int flag handeln koennte und flag
 
Re: Antwort auf meine frage zu Geraden Zahlen

Original geschrieben von waterhog
Vielen dank fuer die bestaetigung und hilfe Kachelator.

gehe ich in der annahme nicht ganz falsch dass es sich um int flag handeln koennte und flag
Teilweise. Wenn dass so wäre, woher käme dann data ?
 
Antwort auf meine frage zu Geraden Zahlen 2

ich glaube mir geht jetzt ein endlich ein Licht auf.


Danke fuer Deine Muehe:

Es muesste das folgende sein:

int test_for_evens (int flag)
{
int flag = 0;
if ( data%2 == 0)
{
flag = 1;
}
return ( data);


denn wenn ich nicht data in ?3? einfuege dann wuerde es ja nicht das richtige ergebnis auschreiben, und es muesste int flag sein damit die variable funktioniert.

Stimmt das jetzt
 
Nee, genau andersrum. 1 und 3 sind vertauscht bei dir.
data wird als Parameter übergeben und mit & (dem Modulo-Operator) geprüft. flag wird mit 0 initialisiert (der Rückgabewert für ungerade Zahlen, entspricht FALSE). Wird festgestellt, dass data gerade ist (& 2 ergibt 0 ), wird flag mit 1 besetzt, was TRUE entspricht.
In beiden Fällen wird flag dann am Ende der Funktion zurückgegeben - es ist also das Resultat der Funktion.
 
solution

Tausend Dank fuer deine ausfuehrliche Hilfe,
sorry fuer das langsame Verstehen.

Woran liegt das wohl, dass ich einfach nicht selber darauf gekommen bin?
Was kann ich an meiner Denkweise aendern?
 
Kein Grund für Sorry. Das ist einfach Übungssache - als ich angefangen habe, Programmieren zu lernen, habe ich mich auch nicht klüger angestellt. Also mach dir deswegen keinen Kopf. ;)
 
Big Thanks

Danke fuer die aufbauenden Worte, hilft immer, und gibt Mut.

Dir noch einen schoenen Tag

werde sicherlich noch einige Fragen ins Forum bringen, denn es hilft sehr, wenn man mal wieder in einem Program feststeckt und nicht weiter weiss
 
Zurück