Hilfe bei Übungsaufgabe
-
Es ist keine Hausaufgabe
weder für meine Ausbildung noch für die Schule!
Ich mache das gerade für mich selbst weil ich in einem Testat eine komplexere Aufgabe lösen muss und einen Rahmen brauchen könnte...
-
Hier meine Aufgabenstellung, damit ihr nicht Angst bekommt das ihr mal mit mir zusammenarbeiten müsst
unten hab ich meinen "fast" fertigen Code hinzugefügt, mir fehlt halt nur noch der rahmen...
Praktikumsaufgabe 6-3 (while/do)
Alice und Bob haben gemeinsam n Äpfel gekauft. In der Zeit, in der Alice 5 Äpfel isst, isst Bob 3. Wie viele Äpfel hat jeder gegessen, wenn keine mehr übrig sind?
Erstellen Sie ein Programm, das zunächst von der Konsole einliest, wie viele Äpfel Alice und Bob zusammen gekauft haben und dann die in jeder Runde von Alice bzw. Bob gegessenen einschließ- lich der noch übrigen Äpfel in Form einer Tabelle ausgibt.
Wieviele Aepfel haben Alice und gekauft?: 114↵ Die Zahl der Aepfel muss durch 8 teilbar sein
Gib eine neue Zahl ein: 122↵
Die Zahl der Aepfel muss durch 8 teilbar sein
Gib eine neue Zahl ein: 120↵
Pathologisches Apfelessen
-------------------------
Runde | Alice | Bob | Rest |
------+-------+-------+-------|
1 | 5 | 3 | 112 |
------+-------+-------+-------|
2 | 10 | 6 | 104 |
------+-------+-------+-------|
....
------+-------+-------+-------|
14 | 70 | 42 | 8 |
------+-------+-------+-------|
15 | 75 | 45 | 0 |
------+-------+-------+-------|#include <stdio.h> #include <stdlib.h> /* * */ int main(int argc, char** argv) { int aepfel,runde=0,alice=0,bob=0,rest,x,isstalice=5,isstbob=3; do{ printf("\nWie viele Aepfel haben Alice und Bob gekauft?:"); scanf("%i",&aepfel); //printf("Wie viele Aepfel isst Alice:"); //scanf("%i, &isstalice"); //printf("Wie viele Aepfel isst Bob:"); //scanf("%i, &isstbob"); } while (aepfel%8); printf("\nPathologisches Apfelessen"); printf("\n-------------------------"); printf("\nRunde\t|Alice\t|Bob\t|Rest\t|\n"); printf("------+------+------+------+"); for(x=1;x<=aepfel;x=x+8){ runde=runde+1; alice=alice+isstalice; bob=bob+isstbob; rest = aepfel - (alice+bob); printf("˜\n%i %i %i %i",runde,alice,bob,rest); } return (EXIT_SUCCESS); }
-
Ist es dann nicht - bei der Aufgabenstellung - bummsegal, ob Schleifen verwendet werden?
-
DjangoG schrieb:
Ich mache das gerade für mich selbst weil ich in einem Testat eine komplexere Aufgabe lösen muss und einen Rahmen brauchen könnte...
Wenn das so wäre, woher kommt dann die seltsame Anforderung keine Schleife zu benutzen und wieso kommt es, dass die Aufgabe 1:1 einer alten Hausaufgabe entspricht, die hier im Forum steht? Erwischt zu werden ist ja nichts schlimmes, da sagen dir die Leute nur, dass du Eigeninitiative zeigen sollst und weisen dir die richtige Richtung. Aber stattdessen mit so fadenscheinigen Ausflüchten zu kommen, das beleidigt die Intelligenz der Leser.
-
Ja klar bei dieser Aufgabe wäre es egal, aber man kann ja trotzdem wissen wie es ohne geht. Ich habe es jetzt mal "zu Fuß" gemacht und die leerzeilen etc. gezählt.
#include <stdio.h> #include <stdlib.h> /* * */ int main(int argc, char** argv) { int aepfel,runde=0,alice=0,bob=0,rest,x,isstalice=5,isstbob=3; do{ printf("\nWie viele Aepfel haben Alice und Bob gekauft?:"); scanf("%i",&aepfel); //printf("Wie viele Aepfel isst Alice:"); //scanf("%i, &isstalice"); //printf("Wie viele Aepfel isst Bob:"); //scanf("%i, &isstbob"); } while (aepfel%8); printf("\nPathologisches Apfelessen"); printf("\n-------------------------"); printf("\nRunde|Alice|Bob |Rest|\n"); printf("-----+-----+----+----+"); for(x=1;x<=aepfel;x=x+8){ runde=runde+1; alice=alice+isstalice; bob=bob+isstbob; rest = aepfel - (alice+bob); printf("\n %4i| %4i|%4i|%4i|",runde,alice,bob,rest); printf("\n-----+-----+----+----+\n"); } return (EXIT_SUCCESS); }
-
DjangoG schrieb:
Es ist keine Hausaufgabe
weder für meine Ausbildung noch für die Schule!
Ich mache das gerade für mich selbst weil ich in einem Testat eine komplexere Aufgabe lösen muss und einen Rahmen brauchen könnte...
Und Schweine können fliegen.
-
Wenn jemand eine Idee für den Rahmen per Schleife hätte, wäre ich sehr Dankbar!
-
volkard schrieb:
DjangoG schrieb:
Es ist keine Hausaufgabe
weder für meine Ausbildung noch für die Schule!
Ich mache das gerade für mich selbst weil ich in einem Testat eine komplexere Aufgabe lösen muss und einen Rahmen brauchen könnte...
Und Schweine können fliegen.
Habe doch die Aufgabenstellung gepostet oder nicht? Und der Rahmen ist kein Bestandteil ...
-
Schau dir mal die Bedeutung der Angaben im Formatstring von printf an.
Der Aufbau ist
%[flags][width][.precision][length]specifier
Du musst jetzt den richtigen
specifier
finden und die richtigen Angaben fürflags
,width
und.precision
Nachlesen kannst du das z.B. bei http://www.cplusplus.com/reference/cstdio/printf/
-
Danke schonmal!
Kann mir jemand sagen welchen Wert dieser Ausdruck ( var & (1 << bit) ) annimmt? und warum?
Und was das für eine Zeichen ist " ^= "
z.B. für a ^= b oder b ^= a ...
das hab ich noch nie gesehen und finde dazu auch nichts.
-
DjangoG schrieb:
Danke schonmal!
Kann mir jemand sagen welchen Wert dieser Ausdruck ( var & (1 << bit) ) annimmt? und warum?
Und was das für eine Zeichen ist " ^= "
z.B. für a ^= b oder b ^= a ...
das hab ich noch nie gesehen und finde dazu auch nichts.
dann google nach bitoperationen.
-
Vielen Dank, direkt etwas gefunden!
-
DjangoG schrieb:
z.B. für a ^= b oder b ^= a ...
das hab ich noch nie gesehen und finde dazu auch nichts.
Das ist äquivalent zu:
a = a ^ b; //bzw. b = b ^ a;
so, wie man statt
a = a + x;
auch
a += x;
schreiben kann.