Array < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:41 Di 07.09.2010 | Autor: | Ice-Man |
Hallo,
habe hier mal wieder ein Feld programmiert.
Es funktioniert soweit auch.
Nur habe ich ein kleines Problem, bzw. einen kleinen Denkfehler.
(Aufgabe war die verkauften Automodelle je Monat in eine Tabelle zu bringen)
Ich habe ja jetzt auch die "maximalen Verkaufszahlen" eines Monats bestimmt.
Nur jetzt weis ich leider nicht, welchen "Schritt" ich einfügen muss, damit auch der Monat in dem die meisten Autos verkauft wurden ausgegeben wird.
Kann mir jemand mal bitte einen Tipp geben??
Ich entschuldige mich schon einmal dafür, das es ein wenig unsauber geschrieben ist.
Bzw. die Ausgabe nicht symmetrisch erfolgt, da mein Texteditor eine kleines Problem hatte.
Dateianhänge: Anhang Nr. 1 (Typ: txt) [nicht öffentlich]
|
|
|
|
> Hallo,
>
> habe hier mal wieder ein Feld programmiert.
> Es funktioniert soweit auch.
>
> Nur habe ich ein kleines Problem, bzw. einen kleinen
> Denkfehler.
>
> (Aufgabe war die verkauften Automodelle je Monat in eine
> Tabelle zu bringen)
> Ich habe ja jetzt auch die "maximalen Verkaufszahlen"
> eines Monats bestimmt.
>
> Nur jetzt weis ich leider nicht, welchen "Schritt" ich
> einfügen muss, damit auch der Monat in dem die meisten
> Autos verkauft wurden ausgegeben wird.
> Kann mir jemand mal bitte einen Tipp geben??
>
>
> Ich entschuldige mich schon einmal dafür, das es ein wenig
> unsauber geschrieben ist.
> Bzw. die Ausgabe nicht symmetrisch erfolgt, da mein
> Texteditor eine kleines Problem hatte.
ich MUSS doch irgendwie jeden monat 9 autos eintippen, somit hab ich doch auch 9 verkäufe?!
ansonsten beschreibe dein programm mal ein wenig mehr
gruß tee
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:07 Di 07.09.2010 | Autor: | Ice-Man |
Also muss ich ähnlich wie bei der "if-Anweisung" die jeweiligen "Zeilensummen" miteinader vergleichen?
Bzw. die jeweils 9 Verkäufe?
|
|
|
|
|
> Also muss ich ähnlich wie bei der "if-Anweisung" die
> jeweiligen "Zeilensummen" miteinader vergleichen?
> Bzw. die jeweils 9 Verkäufe?
was soll das heissen??
du hast das programm doch geschrieben.. warum MUSS man denn 9 modelle eingeben? wenn ich nur 3 verkauft hab, ist das ja erstmal nich so der hit...
wenn das geklärt ist, kann man sich überlegen, wie man den ertragreichsten monat ausliest
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 19:27 Di 07.09.2010 | Autor: | Ice-Man |
Naja, das ist doch vom Prinzip her egal, oder?
Ob ich einem Monat 9 Modelle oder nur bspweise. 5 verkauft habe.
Bei denen die ich nicht verkauft habe, trage ich einfach ne Null ein.
Bzw.
ich häng mal noch nen Quelltext an.
Weis ja nicht ob es möglich ist, aber kann man hier irgendwie nen Befehl eingliedern, das man bestimmt, in welcher Zeile sich die max. Zeilensumme befindet?
Danke
Dateianhänge: Anhang Nr. 1 (Typ: txt) [nicht öffentlich]
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 21:52 Mi 08.09.2010 | Autor: | Ice-Man |
Ich habe hier jetz noch einen Befehl mit reingeschrieben.
x=Zeilen+1;
Jetzt funktioniert es ja auch, also das mir die Zeile ausgegeben wird, in der sich die maximale Summe befindet.
Nur wieso ist das so?
Ich mein, ich versteh nicht, warum ich das Ergebnis bekomm, nur weil ich eine neue Variable mit der Zeile "gleichsetze".
Kann mir das evtl. jemand erklären?
Danke
Dateianhänge: Anhang Nr. 1 (Typ: txt) [nicht öffentlich]
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 15:13 Fr 10.09.2010 | Autor: | Disap |
Hallo Ice-Man
> Ich habe hier jetz noch einen Befehl mit reingeschrieben.
> x=Zeilen+1;
Aha.
> Jetzt funktioniert es ja auch, also das mir die Zeile
Also der Ansatz vorher gibt dir auch die maximale Zeilensumme aus, nur halt nicht, welche Zeile es ist.
> ausgegeben wird, in der sich die maximale Summe befindet.
>
> Nur wieso ist das so?
Weil du noch die entsprechende Zeile eingefügt hast.
> Ich mein, ich versteh nicht, warum ich das Ergebnis
> bekomm, nur weil ich eine neue Variable mit der Zeile
> "gleichsetze".
>
> Kann mir das evtl. jemand erklären?
Erst Mal muss ich sagen, dass ich gerade nicht nachvollziehen kann, was du genau willst.
Ich versuche es mal:
Dein Problem ist, dass du gerne wissen möchtest, warum die (Quell-)Zeile
x=Zeilen+1;
plötzlich dazu führt, dass am Ende auch die richtige Zeilennummer ausgeührt wird?
Das liegt einfach daran: Du hast 4 Forschleifen. Die ersten 2 dienen zum Einlesen von Zahlen. Die für dein Problem wichtigen, sind die nächsten beiden, die zur Ausgabe und Verrechnung der eingegebenen Daten dienen.
Du befindest dich in der 4. Forschleife:
1: |
| 2: | for (Spalten=0; Spalten<4; Spalten++)
| 3: | {
| 4: | printf(" %i ",tabelle[Zeilen][Spalten]);
| 5: | Summe=Summe+tabelle[Zeilen][Spalten];
| 6: | }
|
Im ersten Durchlauf befindest du dich doch in der ersten Zeile (wegen der 3. Forschleife, und weil die 4. Forschleife ja in der 3. Forschleife enthalten ist). Also erster Durchlauf, erste Zeile. Dann berechnest du die Zeilensumme, indem du die 4 Spalten durchgehst. Jetzt ist die 4. Forschleife erst ein Mal komplett abgearbeitet und du springst heraus, zu dem nächsten Codesegment:
1: |
| 2: | if (max<Summe)
| 3: | {
| 4: | max=Summe;
| 5: | x=Zeilen+1;
| 6: | }
| 7: | |
Die Variable max ist noch gleich 0 (da es der 1. Durchlauf der dritten Forschleife ist). Also ist nun max = 1. Zeilensumme (durch das Zeilen+1).
Jetzt ist die dritte Forschleife abgearbeitet (es ist noch Zeile = 0) und wird nun auf Zeile =1 erhöht. Es geht wieder in die 4. Forschleife, die 2. Zeilensumme wird berechnet und du bist wieder beim if. Die IF-Anweisung wird natürlich nur dann ausgeführt, wenn die zweite Zeilensumme größer der ersten ist.
Ist das der Fall, wird x = 2. Zeilensumme gesetzt, ist das nicht der Fall, bleibt x = 1. Zeilensumme und es beginnt der dritte 3. Forschleifen durchlauf (also Zeile = 2 in der dritten Forschleife)
War das deine Frage?
Viele Grüße
Disap
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:20 Do 09.09.2010 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|