Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

**HILFE!!**C Programmierung/ Klausuraufgabe

endruhnsche / 11 Antworten / Flachansicht Nickles

Hallo, ich brauche dringend Hilfe von erfahrenen Programmierern!


Ich bin Lebensmitteltechnologiestudentin und habe im Grundstudium Informatik. Ich verstehe nur wenig vom Programmieren und bin auf der Suche nach Jemanden, der mir beim Lösen einer alten Klausuraufgabe helfen kann. Ich habe keine Ahnung wie ich da am besten rangehe.


Die Aufgabe ist relativ lang. Ich könnte Sie einscannen, aber kann ich hier auch Datein zum Download anhängen?


 


Wir programmieren mit C in Microsoft Visual Studio C++

bei Antwort benachrichtigen
d-oli endruhnsche „**HILFE!!**C Programmierung/ Klausuraufgabe“
Optionen

Hallo Lebensmitteltechnologiestudentin

Ich habe noch nie erlebt, dass bei Nickles eine fixfertige Lösung auf eine solche Anfrage folgte.

Nun ich denke das Programm zu schreiben ist meistens das kleinere Problem. Die ganze Aufgab sieht nach Verfahrenstechnik aus. Da müsstest Du doch eigentlich etwas voraus haben oder nicht?
Ich versuche es mal ...

1 a) Bei einer chemischen Reaktion entstehen drei Produkte. In einer Versuchsreihe wird vom Start (Zeit = 0) im Abstand von 10 Minuten die Menge der entstandenen Produkte P1, P2 und P3 gemessen ...

1b) Die Dauer eines Versuchs beträgt maximal 300 Minuten ...

-> daraus folgt Max. 300/10 = 30 Messungen pro Produkt.


2 a) Es soll der Zeitpunkt bestimmt werden, zu dem die Menge des entstandenen Produktes P2 am größten ist ...

2b) Beispiel der Ausgabe ...

-> daraus schliesse ich, dass die Messwerte nicht integriert werden müssen.


3 a) Einzugeben sind die gemessenen Produktmengen für die Produkte P1, P2 und P3 zu den angegebenen Mess-Zeitpunkten ...

3 b) Beispiel der Ausgabe ...

-> Annahme: Die Zeit muss ebenfalls eingegeben werden



Was wir also haben ist, das wir maximal 30 mal 4 Eingaben anfordern müssen, die wir speichern und am Ende prüfen, zu welchem Zeitpunkt P2 die maximale Menge erreichte. Nicht zu vergessen, dass das Programm abgebrochen werden muss, wenn P2 während drei Zyklen nicht ändert.


Und das geht so:

- Definiere ein zweidimensionales Array 30 mal 4 mit Integer Zahlen ( int data[30][4])
... so wär’s noch etwas eleganter struct product{ int time; int p1, int p2; int p3; } und dann -> product data[30]
- Definieren eine Integer Variable um zu zählen wie viel mal P2 nicht gestiegen ist. ( int count = 0 )
- Definieren eine Integer Variable um dir P2 max. zu merken (int p2max = 0)

- Mache eine z.B. do while Schleife die solange läuft bis P2 drei mal nicht gestiegen ist oder alle Daten eingegeben wurden. In der Schleife verlangst du die Eingaben Zeit, P1, P2 und P3

- Mache einen weitere Schleife (for empfohlen) in der du die gesammelten Daten auf der Konsole ausgeben tust und gleichzeitig p2max ermittelst for( count = 0; count p2max ) { ... }

- Gib p2max aus

... jetzt musst du nur noch die Syntax einfügen ...

Hilft das weiter?

Gruss, d-oli

PS: Sorry für mein schlechtes Deutsch. Deutsche Sprache, schwierige Sprache ...

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen