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};
Szia.
Ha jól sejtem akkor ezeket a feladatokat mind meglehet oldani egy minimum kiválasztással. Ezt meg ha beirod a googlénak, akkor szint kész programokat kapsz : [link]
Sok sikert.
Üdv.
31 adat esetén ez így jó akkor,az 1. Feladatra?
int min = 0;
double ku[31];
for (i = 0; i < 31; i++)
{
ku[i] = EUR[i] / USA$[i];
}
for (i = 0; i < 31; i++)
{
if (ku[i] < ku[min])
min = i;
}
cout << "g) Az Euro a hónap: " << min + 1 << endl;
cout << endl << endl;
Szia.
Szerintem jó, csak optimizálni kellene egy picikét :
1. szerintem nem kell a ku-ből egy 31-es tömb, (hacsak a későbbiek folyamán nem kell felhasználni, da akkor is simán ki lehet kiszámolni - csak egy osztás). Elég két változó egy a pillanatnyi értéknek (arány) egy pedig a minimumnak (ez is arány).
2. A minimum kiválasztáshoz nem kell (szerintem) új ciklus, ugyanabban a ciklusban ahol kiszámolod az aktuális EUR/USD értéket, a minimum kiválasztást is el tudod végezni.
És szerintem a második feladathoz is kell a minimum kiválasztás :
Meg kell határozni a legkisebb EURO értéket (azon a napon a legkedvezőbb az EURO-t megvenni).
Most ebből valahogyan napot kell "gyártani". Ezt nem irta a feladat, igy ezt igy most ennyiből nem lehet megoldani (szerintem), minimum kellene tudni a hónap első napja milyen napra esett (pl. Keddre), onnantól kezdve pediglen egy sima maradékos osztás a dolog X/7 és amaradéke magmondja a napot : ha 0 akkor mindig Kedd, ha 1 akkor Szerda, stb,stb.
Sok sikert.
üdv.
Ja még eg dolog, van ahogy nézem a kódot, ha igy csinálod akkor ku[min]-nek értéket kellene adni, pl az első elemet a tömbből ku[min]=ku[0];
Üdv.
Az elsőnek végleges megoldása ez lett:
int min = 0;
double u[31];
for (i = 0; i < 31; i++)
{
u[i] = EUR[i] / USA$[i];
if (u[i] < u[min])
min = i;
}
cout << "g) Az Euro a hónap: " << min+1 <<". napján volt a legalacsonyabb"<< endl;
cout << endl << endl;
Az pediglen szintén egy minimum kiválasztás a legkisebb EURO-ra és a min+1 értéke mutatja a nap számát. Ugyan az mint amit már elkészitettél az EUR/USD aránynál, csak itt nem a KU-t kell használni, hanem az EUR tömböt.
Üdv.
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!