C - Problem mit Rechnung in FOR-Schleife (Arrays)

Plasmaschlag

Grünschnabel
Hallo Leute,

ich habe ein Problem bei einer Rechnung in einer FOR - Schleife.
Mein Programm rechnet bisher immer z.B. 200.000 : 50.000 = 4
Es soll aber so sein, dass es von den 200.000 - 50.000 abzieht und danach den rest (150.000) - 55.000 rechnet (also zu dem Subtrahend etwas dazuzählt, aber immer die gleiche Zahl. Indem fall immer 5.000 mehr) und dann 95.000 - 60.000, bis die Ausganszahl kleiner ist als der Subtrahend. Anschließend sollen die Anzahl der Rechnungen ausgegeben werden, wie in dem Beispiel: 3 . Also sone art spezielle Division.
Leider bin ich gerade etwas überfordert und könnte hilfe gebrauchen.

So sah meine Rechnung bisher aus:
Code:
  for(i=0;i<9;i++)
  {
   if(eing[i]!=0){
     anz[i]= geld/eing[i];
     erg[i]= anz[i]*p[i];}
   else
     erg[i]=0;

   if(eing[i]==0) anz[i]=0;
  }
 
Hi

was sind diese ganzen Variablen bzw. was sollen sie sein?
Warum sind die Arrays auf 9 begrenzt?

Mit eigenen Variablen:
C++:
int wert = 200000, abzug = 50000, abzugplus = 5000;
int erg = 0,

while(wert >= abzug)
{
    erg++;
    wert -= abzug;
    abzug += abzugplus;
}
 
Sorry, ich habe vergessen da verständnishalber Zahlen einzutragen.

eing = Eingabe (In meinem Beispiel währen das die 50.000)
geld = Die 200.000
anz = Anzahl (Einfach das Ergebnis aus der Division. Brauche das noch für eine printf Ausgabe, deswegen steht das da drinn)
erg = Ergebnis
p = Eine reihe von Werten (zB. 500). Sind aber in der Rechnung nicht relevant.

Code:
   else
     erg[i]=0;

   if(eing[i]==0) anz[i]=0;
Das steht da, weil sonst in der Ausgabe z.B. -17875546453 steht anstatt 0.
 
C:
int geld = 200000, eing = 50000, eingInkrement = 5000, erg = 0;

while ( geld >= eing )
{
  geld -= eing;
  eing += eingInkrement;
  erg++;
}

printf("%d bei einem Rest von %d\n", erg, geld);

so würde ich das machen nach deinem beschriebenen Problem.
Weis allerdings nicht wofür die Variable "anz" sein soll,
da es in der Rechnung selbst keine Division gibt.
Wenn du da den Rest der Rechnung darin haben möchtest,
kannst du dir die Variable sparen.
Denn der steht in der Variablen "geld".


Beispiel des Algorithmus:
Code:
200000 - 50000 = 150000
150000 - 55000 =  95000
 95000 - 60000 =  35000
 35000 < 65000 => Abbruch mit Ausgabe
 
Zuletzt bearbeitet:
Zurück