die kleinste zahl finden.
-
hallo und einen schönen guten morgen,
ich stecke noch in den kinderschuhen von C++ und bin gerade dabei, mir ein kleines programm zu schreiben.
nun stehe ich vor folgenden problem:durch errechnungen habe ich 5 werte.
rK = hK/kK;
rF = hF/kF;
rO = hO/kO;
rE = hE/kE;
rG = hG/kG;nun möchte ich wissen, welcher errechnete wert der kleinste ist.
kann mir da bitte jemand helfen.
vielen dank
gruss bernd
-
Vielleicht mit "if" !?
-
hallo jochen,
wie müsste denn dann die if anweisung sein?
und wie gebe ich den kleinsten wert aus?hast du da ein code beispiel.
danke
gruss bernd
-
if (a < b) puts("a ist kleiner als b");
else if (a > b) puts("a ist groesser als b");
else puts("a und b sind gleich gross");
-
hallo c.rackwitz ,
aber da vergleiche ich ja nur 2 werte.
muss ich genauso verfahren um alle 5 werte zu vergleichen um dann den kleinsten heraus zu finden?
oder gibt es da ne einfachere lösung?gruss bernd
-
entweder so oder so:
alle in ein array packen, druebergehen, kleinstes finden.
-
oh, array kenne ich noch nicht.
werde mal mit der if methode den kleinsten wert suchen.
danke für die hilfe
gruss bernd
-
-
hallo nochmal,
ich breche mir gleich die finger
habe jetzt son array gemacht:
// über Array den kleinsten wert ermitteln
// Array deklarieren
float kleinste[6];
//Wertzuweisungen des Arrays
kleinste[0]=rFe;
kleinste[1]=rKris;
kleinste[2]=rFrub;
kleinste[3]=rOri;
kleinste[4]=rFruro;
kleinste[5]=rGold;und wie ermittel ich jetzt den kleinsten wert?
über die if anweisung komme ich auch zu keinem ergebniss.
die if anweisung ist so lang, da steige ich nicht mehr durch.kann mir da nochmal jemand helfen bitte.
gruss bernd
-
for-loop
edit:
const int feldlaenge = 6; int feld[feldlaenge] = {9,3,6,8,3,1}; // bisschen zufall int i, kleinstezahl; kleinstezahl = feld[0]; for(i = 1; i < feldlaenge; ++i) if (feld[i] < kleinstezahl) kleinstezahl = feld[i]; // oder auch... for(i = 1; i < feldlaenge; ++i) kleinstezahl = min(kleinstezahl, feld[i]);
den index 0 hab ich in den loops uebersprungen, weil ich ja unmoeglich vor dem zweiten element des arrays irgendeinen vergleich anstellen kann.
-
wie gesagt,
ich bin ganz am anfang von C++
bin froh das ich "Hallo" auf den bildschirm bekomme.
mit den ganzen brocken, array, for-loop, usw kann ich noch gar nichts anfangen.
wäre lieb wenn du mir den code fertig stellen könntest.
denke damit und davon kann ich besser lernen.danke und gruss
bernd
-
hab meinen letzten post bearbeitet, bevor ich diesen deinen gelesen hab. -> siehe letzter post
-
aber manchmal ist eine zigarre bloß eine zigarre.
double kleinste=hK; if(hF<kleinste) kleinste=hF; if(rO<kleinste) kleinste=rO; if(rE<kleinste) kleinste=rE; if(rG<kleinste) kleinste=rG; cout<<"der kleiste wert ist "<<kleinste<<'\n';
-
hier hast du noch einen begriff vor die fuesse geworfen:
"loop unrolling" nennt sich das, was volkard da macht.
bei so kleinen loops wird das effizienter sein.
-
hallo,
vielen dank für eure geduld und hilfe.
ich nehme den code von volkard,
den kann ich zur zeit besser verstehen.nochmals danke und alles gute für das neue jahr
gruss bernd
-
und noch eine Funktion die dir den Algorithmus schon vorgibt, ohne das du ihn selbst programmieren musst. Nimm einfach ::qsort. Macht das sortieren und leben einfacher
codeman