Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Zählproblem

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
logo
Gast





BeitragVerfasst am: 14. Dez 2003 3:00   Titel: Zählproblem

Hallo,

woher weiß das Programm bei der Musterloesung, dass er hoch bzw. runter zaehlen muss?
Meine Loesung ist wie Ihr sieht mit einer Schleife erstellt.

code:

int main()
{
int h,m,gesm,kosten=0,x,p;

printf("Gewuenschte Rechenzeit eingeben - hh.mm: ");
scanf("%d.%d", &h, &m);

gesm=m+h*360;

if(gesm<=5*360)
kosten=200;

else if(gesm<=15*360)
{
for(x=5;x<=h;x++)
kosten+=35;

kosten=kosten+200;
}

else
{
for(x=h;x>15;x--)
kosten+=30;

kosten=kosten+550;
}
...

/*MUSTERLOESUNG*/


hi1=rz

if(hi1!rz)
hi1++

if(rz<=5.00)
ko=200;

else if(rz<=15.00)
ko=(hi1-5)*35+200;

else
ko=(hi1-15)*30+550;



bis bald
Andreas
 

alien
Gast





BeitragVerfasst am: 15. Dez 2003 0:46   Titel: Re: Zählproblem

else if(gesm<=15*360)
{
for(x=5;x<=h;x++) // x ist gleich 5;ist x kleiner,gleich h dann x (+1) .... inkrement
kosten+=35;

kosten=kosten+200;
}

else
{
for(x=h;x>15;x--) // ..... ..... . ist x größer 15 dann x (-1) .... dekrement
kosten+=30;

kosten=kosten+550;
}

formatiert man code heute eigentlich nur noch ohne spaces?
 

logo



Anmeldungsdatum: 06.03.2003
Beiträge: 20

BeitragVerfasst am: 15. Dez 2003 13:46   Titel: Re: Zählproblem

Hallo Unbekannter,

dass ich meine Loesung nachvollziehen kann versteht sich von selbst, meine Frage aber war woher weiss das Programm DER MUSTERLOESUNG wie oft es zu zählen hat oder nicht?!

bis bald
Andreas
 
Benutzer-Profile anzeigen Private Nachricht senden

alien
Gast





BeitragVerfasst am: 15. Dez 2003 21:03   Titel: Re: Zählproblem

wenn du deinen code verstehst warum fragst du dann? ich kann deine frage nicht wirklich nachvollziehen!

hi1=rz // selbsterklärend

if(hi1!rz) // ist hi1 nichtgleich rz
hi1++ // dann hi1 inkrement, also +1

mfg
 

logo



Anmeldungsdatum: 06.03.2003
Beiträge: 20

BeitragVerfasst am: 15. Dez 2003 22:04   Titel: Re: Zählproblem

Hallo mfg,

nun bis jetzt bin ich davon immer ausgegangen, dass Wiederholungen nur in Form von Schleifen (for, while) zu realisieren sind, aber mit der jetzigen Antwort ist mir klar, dass Wiederholungen auch andres zu realisieren sind.

Danke

bis bald
Andreas
 
Benutzer-Profile anzeigen Private Nachricht senden

uljanow
Gast





BeitragVerfasst am: 16. Dez 2003 12:45   Titel: Re: Zählproblem

das hier ist quatsch:
code:
for(x=5;x<=h;x++)
kosten+=35;

kosten=kosten+200;

überleg mal: die schleife wird (h-5+1)-mal durchlaufen, jedesmal wird "kosten" um 35 erhöht. insgesamt wird also einfach (h-5+1)*35 zu kosten hinzuaddiert, und am ende dann nochmal +200. also: kosten += (h-5+1)*35 + 200. genauso wird es ja auch in der musterlösung gemacht. nur, dass dort die eins nicht hinzuaddiert wird -- bist du denn sicher, dass die abbruchbedingung x<=h (und nicht x<h) heissen soll?

> bis jetzt bin ich davon immer ausgegangen, dass Wiederholungen nur in Form von Schleifen (for, while) zu realisieren sind,
> aber mit der jetzigen Antwort ist mir klar, dass Wiederholungen auch andres zu realisieren sind.

ich kapier gar nichts mehr. wie kommst du drauf, dass man wiederholungen auch ohne schleifen machen kann? wo wird denn im code sowas gemacht?
 

logo



Anmeldungsdatum: 06.03.2003
Beiträge: 20

BeitragVerfasst am: 16. Dez 2003 14:03   Titel: Re: Zählproblem

Hallo,
nun, ich habe die Musterloesung als linear interpretiert, folglich könnte ich keine Schleife erkennen, da ich meine eine Schleife ist in sich nicht linear.

Die Aufgabenstellung des Programms:

Leistungen eines Rechenzentrums sind nicht umsonst. Die Grundgebühr für einen Job richtet sich nach der verbrauchten Rechenzeit wie folgt:

Rechenzeit in Stunden Grundgebühr
0.00 bis 5.00 200 DM
5.01 -15.00 200 DM plus 35 DM für jede angefangene Stunde über 5 Stunden
15.01 und mehr 550 DM plus 30 DM für jede angefangene Stunde über 15 Stunden.

Dazu kommt ein Zuschlag für die Priorität des Jobs. Die Priorität wird durch die Ziffer 0, 1 oder 2 angegeben.
Der Zuschlag beträgt: Priorität 0 1 2 Zuschlag in DM 0 50 150 Schreiben Sie ein Programm, welches zu einer gegebenen Zeit und Priorität die Kosten berechnet.

Testbeispiele: Zeit: 4.00 Priorität: 0 Kosten: 200 DM Zeit: 14.00 Priorität: 1 Kosten: 565 DM Zeit: 20.00 Priorität: 2 Kosten: 850 DM Zeit: 5.00 Priorität: O Kosten: 200 DM Zeit: 15.01 Priorität: 0 Kosten: 580 DM

bis bald
Andreas
 
Benutzer-Profile anzeigen Private Nachricht senden

uljanow
Gast





BeitragVerfasst am: 16. Dez 2003 22:05   Titel: Re: Zählproblem

ich glaub ich hab jetzt verstanden, was du meinst.
ob man herauf- oder herunterzählt ist völlig egal. entscheidend ist ja nur die zahl der durchläufe.
du hättest statt dem herunterzählen....
code:

for(x=h;x>15;x--)
kosten+=30;


auch so schreiben können...

for(x=15; x<h; x++) kosten+=30;

oder eben (wie bereits erklärt) ganz ohne schleife.
 

logo



Anmeldungsdatum: 06.03.2003
Beiträge: 20

BeitragVerfasst am: 16. Dez 2003 23:21   Titel: Re: Zählproblem

Danke.

Ich bin noch sehr jungfräulich in der Programmierung.
 
Benutzer-Profile anzeigen Private Nachricht senden

uljanow
Gast





BeitragVerfasst am: 17. Dez 2003 10:45   Titel: Re: Zählproblem

neugierdehalber: was für ein lehrbuch verwendest du denn da? lernst du C alleine/aus interesse oder für schule/studium?
 

logo



Anmeldungsdatum: 06.03.2003
Beiträge: 20

BeitragVerfasst am: 17. Dez 2003 15:02   Titel: Re: Zählproblem

Nun ja, ich habe die C-Programmierung während einer Technikerausbildung gelernt und es ist jetzt ungefähr ein halbes Jahr zurück. Jetzt versuche ich es mir wieder anzueignen, wobei ich schon damals in der Schule schlecht gewesen bin, habe die Prüfung mit 4,5 schriftlich und mündlich mit 4,0 bestanden.
Wenn man so will, frische ich mir das Wissen nochmal an, um nicht ganz so doof da zu stehen.
 
Benutzer-Profile anzeigen Private Nachricht senden

Udo Maslo
Gast





BeitragVerfasst am: 21. Dez 2003 6:25   Titel: Re: Zählproblem

Was ist denn das für idiotische Aufgabenstellung?

Für eine Rechenzeit von 0 muß man schon mal 200 Mäuse abdrücken und was ist mit den Zeiten 5h < t < 5.01h und 15h < t < 15.01 ?
Von einer Informatik (Mathe,Physik,..) -Lehrkraft kann dieser Unfug doch nicht stammen. (Falls doch, dann nach Bayern schicken, dort können sie in Schulbüchern Masse und Gewicht nicht auseinander halten. Da fällt so etwas auch nicht auf.)

Udo
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy