Klausurvorbereitung
-
ja mit stift und papier hab ichs probiert aber iwie funzt das nicht.. kannst dus mir mal zeigen?
Also ich hab bei der a) z.B. erstmal probiert x | y und das ergebnis dann & z und da kam 1 raus...
Also so:
0011 x 0010 y ---- 0011 0001 z ---- 0001
-
xX Dany Xx schrieb:
Also ich hab bei der a) z.B. erstmal probiert x | y und das ergebnis dann & z und da kam 1 raus...
du kannst sowas nicht einfach von links nach rechts ausrechnen. & hat vorrang vor |, d.h. du musst es als: x | (y & z) behandeln, also: 3 | (2 & 1)
-
achso ja stimmt, das habe ich gar nicht beachtet.. Wo kann ich die Rechnregeln finden? Weißt das jemand? Oder kann das jemand mal posten?
-
xX Dany Xx schrieb:
achso ja stimmt, das habe ich gar nicht beachtet.. Wo kann ich die Rechnregeln finden? Weißt das jemand? Oder kann das jemand mal posten?
google: 'logical operator precedence' oder so ähnlich.
-
Ich glaub jetzt bin ich komplett durch.. jetzt krieg ich nich mal son kleines dämmliches Programm hin..
Aufgabe 5 (20 Punkte)
Eine Zahl x vom Typ double soll von der Tastatur eingegeben werden. Die Zahl soll nur dann akzeptiert werden, wenn sie im Bereich –10.0 <= x < +10.0 liegt. Schreiben Sie für diesen Zweck ein Programm, das bei ungültiger Eingabe einen Hinweis ausgibt und die Eingabeaufforderung so lange wiederholt, bis die Zahl im geforderten Bereich liegt.Das habe ich geschrieben... aber warum springt er nicht aus der schleife raus? und warum gibt er nicht aus "Falsche Eingabe!"?
int main (void) { double x; do { printf ("Eingabe: "); scanf ("%d", &x); if (x>=-10 || x<10) printf ("x = %d\n", x); else printf ("Falsche Eingabe!\n\n"); } while (x<=-10 || x>10); getch(); }
-
xX Dany Xx schrieb:
Ich glaub jetzt bin ich komplett durch.. jetzt krieg ich nich mal son kleines dämmliches Programm hin..
glaub' ich auch, du solltest dich für heute besser auf's ohr hauen. was ist grösser als -10 und auch(<-- umgangssprachlich für logisches 'oder') kleiner als 10? richtig, alles. *fg*
btw, wieso nimmste 'ne double-variable, wenn du integers vergleichst?
-
xX Dany Xx schrieb:
achso ja stimmt, das habe ich gar nicht beachtet.. Wo kann ich die Rechnregeln finden? Weißt das jemand? Oder kann das jemand mal posten?
http://de.wikibooks.org/wiki/C-Programmierung:_Liste_der_Operatoren_nach_Priorität
xX Dany Xx schrieb:
ja mit stift und papier hab ichs probiert aber iwie funzt das nicht.. kannst dus mir mal zeigen?
Das kriegst du schon hin.
Bei dem Link oben, guckst du bei bitweises UND, das hat die Priorität 8, das bitweise ODER hat die Priorität 6.
Also wird bei dem Ausdruck x | y & z zuerst y & z ausgewertet und dann wird dieses Ergebnis mit x ODER Verknüpft, wie fricky ja bereits geschrieben hat.Aufgabe 2 hast du immernoch nicht gepostet.
Naja, morgen hab ich vllt. keinen Bock mehr zu und weil ich mir schon nen Wolf getippt habe, will ich dir das nicht vorenthalten:
Fehler Auswirkung auf den Programmlauf k ist nicht deklariert. Keine. Programm lässt sich erst gar nicht compilieren. Der Rückgabewert von malloc wird nicht Programmabsturz wenn malloc NULL liefert. überprüft. Das Feld wird nicht vollständig Abhängig vom Programm. gefüllt, der Index muss bis k=4 laufen. Der Speicher wird nicht freigegeben. Eventuell Memoryleak. k wird nicht inkrementiert. Endlosschleife. Kein Fehler aber problematisch: Der Rückgabwert von malloc sollte nicht gecastet werden. Kein Fehler aber unschön und nahezu sinnfrei: hartcodierte Anzahl der Integerelemente.
int k = 0; int *ar = malloc ( 5 * sizeof(int) ); // Versuch der Allokation. if ( ar == NULL ) return 1; // Es ist kein Speicher frei. do ar[k] = k++; while ( k<5 ); // Vollständige Initialisierung. while ( --k != -1 ) printf ( "ar[%d] = %d\n", k, ar[k] ); // Sind wir auch alle daaa? Bonus: gucki machen :) free ( ar ); // Speicher freigeben.
-
Ah coole Sache.. THANX
-
;fricky schrieb:
was ist grösser als -10 und auch(<-- umgangssprachlich für logisches 'oder') kleiner als 10? richtig, alles. *fg*
btw, wieso nimmste 'ne double-variable, wenn du integers vergleichst?
Nein nicht alles... größer als -10 und auch kleiner als 10 sind nur Zahlen von -10 bis 10 wenn ich das richtig überblicke...
x soll vom Typ double sein.. steht in der aufgabe.. aber ich blick da noch nicht so richtig durch...
-
Guck mal in deinem Script unter Eingabe/scanf/Format/Formatstring/Formatelemente oder hier heißen die Dinger auch Platzhalter:
http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_Ausgabe
-
xX Dany Xx schrieb:
Ah coole Sache.. THANX
fein, und was lernen wir daraus? dem prof. lauschen + selber lernen und sich mit dem zeug auseinandersetzen? aber nein, nur hartnäckig im ansi-C forum abhängen, denn hier werden sämtliche hausaufgeben prompt erledigt, wenn auch manchmal mit einer kleinen verzögerung. aber egal, jede strategie, die zum erfolg führt, ist eine gute strategie. *fg*
xX Dany Xx schrieb:
Nein nicht alles... größer als -10 und auch kleiner als 10 sind nur Zahlen von -10 bis 10 wenn ich das richtig überblicke...
naja, aber nicht in deinem code. grösser als -10 sind -9,-8,-7, usw, kleiner als 10 sind 9, 8, 7, usw. nimm irgendeine zahl und sie wird grösser als -10 oder kleiner als 10 sein, wetten? wenn du alle zwischen -10 und +10 brauchst, dann mach das || zum &&, also: if (zahl>-10 && zahl<10)
-
nee das sind ja keine Hausaufgaben.. aber ich hab relativ viel in kurzer Zeit zu lernen und deswegen dachte ich, dass ihr mir mit ein paar Aufgaben helfen könntet.. Ich habe auch schon in unserem TI Forum reingeschrieben, dass es schön wäre, wenn die Leute mal die Lösungen posten würden.. Weil es ist doof etwas zu lernen, wenn man sich nicht sicher sein kann, ob das was man rauskriegt richtig ist. Aber das habe ich heute erst angesprochen mal sehen was kommt.
;fricky schrieb:
und auch(<-- umgangssprachlich für logisches 'oder')
Dann ist das hier falsch
Umgangssprachlich für logisches OR ist einfach oder...
;fricky schrieb:
wenn du alle zwischen -10 und +10 brauchst, dann mach das || zum &&, also: if (zahl>-10 && zahl<10)
das hab ich probiert.. aber jetzt trifft genau der umgekehrte fall ein.. egal was ich eingebe, es ist alles falsche eingabe und er springt sofort aus der schleife raus..
-
Big Brother schrieb:
Guck mal in deinem Script unter Eingabe/scanf/Format/Formatstring/Formatelemente oder hier heißen die Dinger auch Platzhalter:
http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_AusgabeJa ich kenn das mit den Argumenttypen, aber.. da steht irgendwie nicht alles ... das ist total komisch... z.B. bei dieser Aufgabe ja:
Aufgabe 1 (20 Punkte)
Welche Werte haben die Variablen in jeder Zeile?
int i; long l; float f; double d;
a) i = l = f = d = 100/3; // i = ?, l = ?, f = ?, d = ?
b) d = f = l = i = 100/3;
c) i = l = f = d = 100/3.0;
d) d = f = l = i = (float) 100/3Kommts nicht drauf an was ich dann bei printf fürn Buchstabe nehme?
-
xX Dany Xx schrieb:
nee das sind ja keine Hausaufgaben.. aber ich hab relativ viel in kurzer Zeit zu lernen und deswegen dachte ich, dass ihr mir mit ein paar Aufgaben helfen könntet.. Ich habe auch schon in unserem TI Forum reingeschrieben, dass es schön wäre, wenn die Leute mal die Lösungen posten würden.. Weil es ist doof etwas zu lernen, wenn man sich nicht sicher sein kann, ob das was man rauskriegt richtig ist. Aber das habe ich heute erst angesprochen mal sehen was kommt.
ich glaub ich explodier schon wieder, du hast einfach nix gemacht, und kommst deswegen mit deiner zeit nicht klar, jeder der sich ein bischen mit c beschäftigt hat, sollte die aufgaben locker in ner halben stunde lösen können (maximal). ich hab mit dir kein mitleid. und werde auch alle fragen von xX Dany Xx in zukunft ignorieren.
es ist das letzte nichts zu machen und es dann hier lösen zu lassen damit du noch deine anderen fächer für die du nix gemacht hast lernen kannst.
programme kannst du ganz einfach validieren, schick sie durch den compiler aber selbst dazu bist du am ende des semesters nicht in der lage, ein trauer spiel ist das mit dir...
og lolo
-
wenn du in informatik ne note bekommst mit der du nicht durchgefallen bist sollte deinem lehrer sein "prof" entzogen werden.
solche faulen säcke wie du verschwenden in den unis meine steuer gelder und sollten alle von derartigen einrichtungen eliminiert werden.
-
;fricky schrieb:
fein, und was lernen wir daraus? dem prof. lauschen + selber lernen und sich mit dem zeug auseinandersetzen? aber nein, nur hartnäckig im ansi-C forum abhängen, denn hier werden sämtliche hausaufgeben prompt erledigt, wenn auch manchmal mit einer kleinen verzögerung. aber egal, jede strategie, die zum erfolg führt, ist eine gute strategie. *fg*
Jepp, da wird eine Frage beantwortet und bevor sie geklärt ist, wird die nächste Aufgabe in den Thread gerotzt.
Da habe ich auch keinen Bock mehr drauf.
-
xX Dany Xx schrieb:
das hab ich probiert.. aber jetzt trifft genau der umgekehrte fall ein.. egal was ich eingebe, es ist alles falsche eingabe und er springt sofort aus der schleife raus..
probier dies:
int zahl; for (zahl=-20; zahl<=20; zahl++) if (zahl>-10 && zahl<10) // zwischen -10 und 10 ? printf ("%d, ja\n", zahl); else printf ("%d, nein\n", zahl);
das gegenteil davon wäre !(zahl>-10 && zahl<10) oder zahl<=-10 || zahl>=10 (je nachdem, was du lesbarer findest).
noobLolo schrieb:
solche faulen säcke wie du verschwenden in den unis meine steuer gelder...
ach, die armen schweine zahlen doch auch genug, semesterbeitrag, studiengebühr, usw.
-
;fricky schrieb:
noobLolo schrieb:
solche faulen säcke wie du verschwenden in den unis meine steuer gelder...
ach, die armen schweine zahlen doch auch genug, semesterbeitrag, studiengebühr, usw.
dachte so ein 08/15 student kostet zwischen 10.000 und 30.000€ pro jahr kpl. ob das mit den paar hundert euronen die sie pro semester berappen müssen gedeckt ist
-
noobLolo schrieb:
dachte so ein 08/15 student kostet zwischen 10.000 und 30.000€ pro jahr kpl. ob das mit den paar hundert euronen die sie pro semester berappen müssen gedeckt ist
naja, aber die paar hundert eurönchen können für 'nen studi ohne reiche eltern ein grosse belastung sein (er muss parallel zum studium jobben und so), während die 30.000 auf viele-viele leute aufgeteilt werden, die das überhaupt nicht wahrnehmen.
-
;fricky schrieb:
...für 'nen studi ohne reiche eltern...
wüßt ja mal gern wieviele das sind, schätz mal nicht mehr als 10%...