eMatematikas Prisijunk Forumas Matematikos testai Pradžia

Problema sprendziant c++ uzdavini su for ciklu


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


#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 = 1; /// hienu skaicius
  int d=0; /// dienu skaicius
  int svoris=7500; /// dramblio svoris
 
  sf >> h;
  while (svoris >= h*sk && d < 7){
      svoris -= h*sk;
      d++;
      sk = pow(d+1,2);
  }


  if (svoris>0){
      rf << "Liko" << svoris << "dramblio mesos, dienu skaicius" << d << endl;
  }
  else {
      rf << "Dramblio mesos neliko, dienu skaicius" << d << endl;
  }

    return 0;
}


pakeista prieš 3 m

Jei su for tai:

  for(d ; d<7; d++){
          sk = pow(d+1,2);
          if (svoris >= h*sk ){
            svoris -= h*sk;
          }
          else{
            break;
          }
      }

pakeista prieš 3 m

Nors ten gal dar rezultatus reiketu patvarkyti, nes keliu dalyku klausia, bet manau pats sugebesi

Dekui uz pagalba !

Gal galite padėti su šiais uždaviniais. Žinau, jie nėra sudėtingi, bet labai reiktų pagalbos, sunku suvokti. ačiūūū
1. Parašykite programą, kuri suskaičiuotų skaičių nuo 1 iki 100 sumą s = 1 + 2 + 3 ...+ 100. Pasitikrinkite. Atsakymas turi būti s = 5050.

2. Parašykite programą, kuri suskaičiuotų skaičių nuo 1 iki n sumą s = 1 + 2 + 3... + n. Pasitikrinkite. Kai n = 15, s = 120.

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »