Pereiti prie turinio

C++ Niekaip nedasyla. Internetas


Rekomenduojami pranešimai

http://i.gyazo.com/0b4cf1fa43efc2f4493ec5f9f2e88711.png

Parodykit sprendima. Labai įdomu kaip darote. ;)

Prašau:) Dariau intervalo metodu.


#include<iostream>
#include<fstream>
#include<iomanip>
//------------------------
void pagrindinis();
void skaiciavimas(int A_h,int A_min,int B_h,int B_min,int A_kh,int A_kmin,int B_kh,int B_kmin, int i);
//------------------------
using namespace std;
int main()
{
ofstream fd ("Rez.txt");
fd.close();
pagrindinis();
return 0;
}
void pagrindinis()
{
int A_h,A_min,B_h,B_min,k, A_kh, A_kmin, B_kh, B_kmin;
ifstream fr ("Duom.txt");
fr >> A_h;
fr >> A_min;
fr >> B_h;
fr >> B_min;
fr >> k;
for (int i = 1; i <= k; i++) {
	fr >> A_kh;
	fr >> A_kmin;
	fr >> B_kh; 
	fr >> B_kmin;
	skaiciavimas(A_h,A_min,B_h,B_min,A_kh, A_kmin, B_kh, B_kmin,i);
}
fr.close();
}
void skaiciavimas(int A_h,int A_min,int B_h,int B_min,int A_kh,int A_kmin,int B_kh,int B_kmin, int i)
{
int A, B, C,D,a;
a = 0;
A=A_h*60+A_min;
B=B_h*60+B_min;
C=A_kh*60+A_kmin;
D=B_kh*60+B_kmin;
if(A>D) {
	a = B - A;
}
if(C>B) {
	a = B - A;
}
if(C >= A && B > D) {
	a = B - D;
}
if (A == C && B == D) {
	a = 0;
}
if (A < C && C < B && B < D) {
	a = C - A;
}
ofstream fd ("Rez.txt", ios::app);
	if (a == 0) {
	fd << "Per " << i << " trukdziu intervala Vilius negalejo pasinaudoti internetu, kadangi trukde trukdziai  " << endl;
	}
	if (a == B - A) {
		fd << "Per " << i << " trukdziu intervala Vilius galejo pasinaudoti internetu be trukdziu: " << a << " min"  << endl;
	}
	else {
		fd << "Per " << i << " trukdziu intervala Vilius galejo pasinaudoti internetu: " << a << " min" << endl;
	}
	fd.close();
}

Redagavo MindeB
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pačiam prieš keletą savaičių reikėjo išspręsti šį uždavinį, tai va taip padariau:

#include <iostream>
#include <fstream>

using namespace std;

int main (){
   int aH, aMin, bH, bMin, akH, akMin, bkH, bkMin, prMin, pbMin, tprMin, tpbMin, pcMin, k;
   ifstream fd ("input.txt");
   ofstream fr ("output.txt");
   fd >> aH >> aMin >> bH >> bMin;
   prMin = aH * 60 + aMin;
   pbMin = bH * 60 + bMin;
   pcMin = pbMin - prMin;
   fd >> k;
   for (int i = 1; i <= k; i++){
       fd >> akH >> akMin >> bkH >> bkMin;
       tprMin = akH * 60 + akMin;
       tpbMin = bkH * 60 + bkMin;
       if ((prMin >= tprMin < pbMin) || (prMin < tprMin < pbMin)){
           for (int j = tprMin; j < pbMin; j++){
               if ((j >= prMin) && (j < pbMin) && (j < tpbMin)){
                   pcMin--;
               }
           }
       }
   }
   fr << pcMin;
   fd.close();
   fr.close();
}

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ą...