Itt lenne két feladat, hogyan lehetne ezeket a feladatokat megoldani? Adott két tömb, ezek a tömbök a forint árfolyamok.
1. Feladat: A hét hányadik napján volt legalacsonyabb az euro a dollárhoz képest?
2.Feladat: A hét melyik napja volt a legjobb Euro vásárlásához,és milyen euro és dollár árfolyamok voltak ezeken a napokon?
double EUR[31] = { 286.50, 288.33, 290.40, 278.25, 279.55, 279.60, 281.60};
double USA$[31] = { 242.33, 243.55, 244.02, 237.65, 240.33, 245.50, 248.50};
Én igy csinálnám :
int min = 0;
double umin = 9999.0;
double uakt;
for (i = 0; i < 31; i++){
uakt = EUR[i] / USA$[i];
if (uakt < umin)
umin=akt
min = i;
}
Üdv.
"Illetve a másik feladatban nem egy hanem a három legalacsonyabbat kell meghatározni, ez okozza a fennakadást."
Erre attól függően, hogyan érted a három legalacsonyabb fogalmát két megoldást tudok elképzelni :
Sorba rendezéssel megkapod a három legkisebb értéket (a napok számát külön tömbben ugyanúgy az értékek szerint cserélgetni kell (sorbarendezés alatt), igy a mindig tudni fogod, hogy melyik értékhez melyik nap van társitva)
Ha ugyanazt az értéket jelenti a három legkisebb elem (ami ugyebár a minimum) akkor egy ciklusban a minimum értékét össze kell hasonlitani az értékekkel és ha a minimummal egyezőt tálálsz akkor kiiratod a megfelelő adatokat.
Sok sikert.
üdv.
Esetleg csinálj neki osztályt:
class Arfolyam
{
double ar;
int nap;
static int koviNap;
public:
Arfolyam(double d)
: ar(d), nap(koviNap++)
{ }
friend ostream& operator<<(ostream &os, const Arfolyam &a)
{
os << "nap: " << a.nap << " ar: " << a.ar;
return os;
}
friend bool Osszehasonlitas(const Arfolyam &a, const Arfolyam &b)
{
return a.ar < b.ar;
}
};
int Arfolyam::koviNap = 1;
int main()
{
vector<Arfolyam> EUR = {286.50, 288.33, 290.40, 278.25, 279.55, 279.60, 281.60};
std::sort(EUR.begin(), EUR.end(), Osszehasonlitas);
cout << "EUR 3 legkisebb: " << '\n' << EUR[0] << '\n' << EUR[1] << '\n' << EUR[2] << '\n';
return 0;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!