Pereiti prie turinio

Pagalba del uzdavinio.


Rekomenduojami pranešimai

Sveiki, gal atsirastu galinciu padeti isspresti si uzdavini:

Kolkas esu apskaiciaves nukeliauta atstuma, bet su greiciais niekaip neiseina.

//Dalele, nukeliautas atstumas
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <cmath>
#include <fstream>

using namespace std;

int main()


{
   system ("chcp 1257");
   int m,n;
   double x1,y1,x2,y2,s ,z, ab;
   ifstream fd ("Duomenys.txt");
   ofstream fr ("rezultatai.txt");
   fd>>m;
   fd>>n;
   fr<<m<<" "<<n<<endl;
   s=0;
   fd>>x1>>y1;
   for (int i=1; i<=m; i++)
   {
       fd>>x2>>y2;
       ab=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
       s=s+ab;
       x1=x2;
       y1=y2;
   }
   fr<<fixed<<setprecision(2)<<s<<endl;
   fd.close() ;
   fr.close();

   return 0;
}

post-73063-0-91054600-1418571708_thumb.png

Nuoroda į pranešimą
Dalintis kituose puslapiuose
//Dalele, nukeliautas atstumas
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <cmath>
#include <fstream>
#include <climits>

using namespace std;

int main() {
   system("chcp 1257");
   int m,n;
   double x1, y1, x2, y2, s, z, ab, speed, minSpeed, maxSpeed, avgSpeed;
   maxSpeed = avgSpeed = s = 0;
   minSpeed = INT_MAX;
   ifstream fd("Duomenys.txt");
   ofstream fr("rezultatai.txt");
   fd >> m;
   fd >> n;
   fd >> x1 >> y1;
   for (int i = 1; i < m; ++i) {
       fd >> x2 >> y2;
       ab = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
       speed = ab / n;
       if (speed > maxSpeed) maxSpeed = speed;
       if (speed < minSpeed) minSpeed = speed;
       s += ab;
       x1 = x2;
       y1 = y2;
   }
   avgSpeed = s/((m-1)*n);
   fr << fixed << setprecision(2) << minSpeed << endl;
   fr << fixed << setprecision(2) << avgSpeed << endl;
   fr << fixed << setprecision(2) << maxSpeed << endl;
   fr << fixed << setprecision(2) << s << endl;
   fd.close();
   fr.close();

   return 0;
}

Redagavo Haliucinas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pirmas dalykas, kuri reikia pastebeti, kad visas fiksavimas vyksta 8 (4*2), o ne 10 (5*2) sekundziu, mat pirmi duomenys yra paimti nuline sekunde.

 

Tad, vidutinis greitis butu: 8.75/((m-1)*n) = 1.09375 mm/s , kur 8.75 - nukeliautas atstumas

 

O, kad surasti didziausia/maziausia greicius, turi apskaiciout greicius tarp kiekvieno stebejimo ir isrinkti reikiamus.

 

greitis tarp tasku: sqrt((x2-x1)^2+(y2-y1)^2) / n

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...