mysterious (+20)
Sveiki, turiu problemu sprendziant uzdavini su for ciklu, labai nesamoningai gavosi, tai gal jus galite uzvesti ant kelio kaip tinkamai uzrasyti programa?
Afrikoje sulaukęs 65 metų mirė afrikinis savanos dramblys. Jis svėrė 7,5
tonos. Netrukus tai suuodė hiena. Pirmąją dieną ji suėdė arba pasislėpė mėsos tiek, kiek sveria pati.
Hienos vidutiniškai sveria nuo 50 iki 87 kg. Antrąją dieną hienų buvo jau 4, trečiąją 9 ir t.t. (1, 4, 9,
16, 25, 36, 49). Kelioms dienoms dramblio mėsos uţteks visoms atėjusioms hienoms? Kiek bus likę
dramblio likučių po savaitės, jeigu hienos jo nespės sudoroti per 7 dienas. Laikykite, kad visos
atėjusios hienos svėrė vienodai.
Duomenys - hienos svoris - 53kg
Atsakymas - Liko 80kg mesos, dienu skaicius - 7.
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;
const char SF [] = "Duomenys.txt";
const char RF [] = "Atsakymai.txt";
int main()
{ int h; /// hienos svoris
int sk; /// hienu skaicius
int d=0; /// dienu skaicius
int svoris=7500; /// dramblio svoris
int lik=0; /// likes dramblio mesos svoris
int i;
ifstream sf (SF);
ofstream rf (RF);
sf >> h;
for (int i=1; i<=49; i++ )
{
while (sk>0)
sk= (sk+1)*(sk+1);
d++;
}
lik = h *sk;
if (sk<7500) rf << "Liko" << lik << "dramblio mesos, dienu skaicius" << d << endl;
else rf << "Dramblio mesos neliko, dienu skaicius" << d << endl;
return 0;
}
Labai nevykusi programa, taciau niekaip negaliu ismastyt nuo ko geriausia pradet