Tomas Astrauskas

C++ reikia pagalbos

Recommended Posts

Sveiki, taigi ilg─ů laik─ů band┼żiau ir galvojau kaip i┼íspr─Östi ┼í─» u┼żdavini. Band┼żiau daryti vien─ů didel─», pagrindin─» while cikl─ů, bet nesugalvojau k─ů jame gal─Ś─Źiau prisilyginti. U┼żdavinys skamba taip:┬á

Vasar─ů po Kur┼íi┼│ marias rengiamos ekskursijos kateriais. Du kateriai turistus plukdyti pradeda lygiai pr valand─ů, o baigia lygiai pb valand─ů. U┼żkiet─Śj─Ö keliautojai Nid─ů pasiek─Ś v─Ślai vakare, tod─Śl ─» pirm─ůj─» reis─ů tikrai nesp─Śs. Para┼íykite program─ů, skai─Źiuojan─Źi─ů, kuri─ů valand─ů ir minut─Ö turi ateiti keliautojai ─» prieplauk─ů, kad abu kateriai b┼źt┼│ pirm─ů kart─ů kartu sugr─»┼ż─Ö ─» prieplauk─ů ir pasiruo┼í─Ö i┼íplaukti tuo pa─Źiu metu. Pirmasis kateris i┼íplaukia kas m1 minu─Źi┼│, antrasis ÔÇô kas m2 minu─Źi┼│.

Pradiniai duomenys skaitomi iš failo kateriai_data.txt tokia tvarka: pr, pb, m1, m2.

Rezultatai ─»ra┼íomi ─» rezultat┼│ fail─ů kateriai_res.txt vienoje eilut─Śje valandas nuo minu─Źi┼│ atskiriant tarpu. Jei kateriai iki darbo pabaigos vienu metu nesugr─»┼í ─» prieplauk─ů, rezultat┼│ faile turi b┼źti spausdinamas ┼żodis NE.

kateriai_data.txt kateriai_res.txt
8 20 40 60 10 0

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»

Sakykim, kad tuvisk─ů jau nusiskait─Ös
int a, b;
a=m1;
b=m2;
while(a!=b)
{
  a+=m1;
  b+=m2;
}
pr=pr*60;
pb=pb*60;
pr+=a; // arba b, nesvarbu
if(pr>pb)cout<<"NE";
else cout<<pr/60<<" val "<<pr-(pr/60)*60<<" min"; //┼Żinau, kad pr/60*60 atrodo kaip taspats, ta─Źiau int suapvalins skai─Źi┼│ dalyboje, tod─Śl gausis viskas teisingai

T┼źr─Śt┼│ veikt, tiksliai ne┼żinau, gal kur klaid┼│ priv─Śliau

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»

na lengviausias b┼źdas tikriausiai b┼źt┼│ pradines valandas pasiversti ─» minutes ir susirasti ma┼żiausi─ů interval─ů kas kiek reiks tikrinti ar jie yra prieplaukoje min(m1, m2),┬átada ciklas b┼źt┼│ kol┬á(pradin─Śs minut─Śs)┬á<= (paskutin─Śs minut─Śs) tada tikrini ar pradin─Śs minut─Śs dalinasi i┼í m1 ir m2 be liekanos, jei taip - pasiverti visk─ů ─» valandas ir minutes ir spausdini, jei ne, pridedi prie pradini┼│ min─Źi┼│ interval─ů

 

paskai─Źius @Michael_Scott┬ákod─ů ten niekas neai┼íku (beto neveiks), mano variantas toks (kur─» pamin─Śjau prie┼í tai, pavyzd─» praeina):

int main() {

	int pr, pb, m1, m2;
	cin >> pr >> pb >> m1 >> m2;
	pr *= 60; pb *= 60;
	int delay = min(m1, m2);
	pr += delay;
	while (pr <= pb) {
		if (pr % m1 == 0 && pr % m2 == 0) {
			cout << (pr / 60) << " " << ((pr - (pr/60)*60));
			return 0;
		}
		pr += delay;
	}
	cout << "NE";
}

 

Redaguota , nario Zero Two

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»
8 minutes prie┼í, Michael_Scott para┼í─Ś:
Sakykim, kad tuvisk─ů jau nusiskait─Ös
int a, b;
a=m1;
b=m2;
while(a!=b)
{
  a+=m1;
  b+=m2;
}
pr=pr*60;
pb=pb*60;
pr+=a; // arba b, nesvarbu
if(pr>pb)cout<<"NE";
else cout<<pr/60<<" val "<<pr-(pr/60)*60<<" min"; //┼Żinau, kad pr/60*60 atrodo kaip taspats, ta─Źiau int suapvalins skai─Źi┼│ dalyboje, tod─Śl gausis viskas teisingai

T┼źr─Śt┼│ veikt, tiksliai ne┼żinau, gal kur klaid┼│ priv─Śliau

B┼źtent taip ir band┼żiau daryti, bet tada a┼í pagalvojau, kad tame pa─Źiame while ir yra klaida. Juk 40 niekada nebus lygu 60. Kad ir kiek kartu beprid─Śtum , 40(+40) nebus lygu 60(+60) Arba a┼í tiesiog nesuprantu

 

7 minutes prie┼í, Zero Two para┼í─Ś:

na lengviausias b┼źdas tikriausiai b┼źt┼│ pradines valandas pasiversti ─» minutes ir susirasti ma┼żiausi─ů interval─ů kas kiek reiks tikrinti ar jie yra prieplaukoje min(m1, m2),┬átada ciklas b┼źt┼│ kol┬á(pradin─Śs minut─Śs)┬á´╗┐<= (paskutin─Śs minut─Śs) tada tikrini ar pradin─Śs minut─Śs dalinasi i┼í m1 ir m2 be liekanos, jei taip - pasiverti visk─ů ─» valandas ir minutes ir spausdini, jei ne, pridedi prie pradini┼│ min─Źi┼│ interval─ů

 

paskai─Źius @Michael_Scott┬ákod─ů ten niekas neai┼íku, mano variantas toks (kur─» pamin─Śjau prie┼í tai, pavyzd─» praeina):

int main() {

	int pr, pb, m1, m2;
	cin >> pr >> pb >> m1 >> m2;
	pr *= 60; pb *= 60;
	int delay = min(m1, m2);
	pr += delay;
	while (pr <= pb) {
		if (pr % m1 == 0 && pr % m2 == 0) {
			cout << (pr / 60) << " " << ((pr - (pr/60)*60));
			return 0;
		}
		pr += delay;
	}
	cout << "NE";
}

 

Sveikas, d─Śkui u┼ż pagalb─ů. Dar nesimokinau "int delay" gal gal─Śtum vienu sakiniu apie tai paai┼íkint?

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»
1 minute prie┼í, Tomas Astrauskas para┼í─Ś:

B┼źtent taip ir band┼żiau daryti, bet tada a┼í pagalvojau, kad tame pa─Źiame while ir yra klaida. Juk 40 niekada nebus lygu 60. Kad ir kiek kartu beprid─Śtum , 40(+40) nebus lygu 60(+60) Arba a┼í tiesiog nesuprantu

 

Sveikas, d─Śkui u┼ż pagalb─ů. Dar nesimokinau "int delay" gal gal─Śtum vienu sakiniu apie tai paai┼íkint?

tai yra tiesiog kintamojo pavadinimas, n─Śra skirtimo kaip tu kintamuosius u┼żvadinsi, reikia tik pa─Źiam suprasti k─ů jie daro, gali laisvai pavadinti kintamaj─»

int super_kietas_super_pavadinimas = 5;

pavadinimas nedaro jokios ─»takos, kaip ir ┼íitoje situacijoje delay yra tiesiog pavadinimas, kad prisimintum, kad ─Źia yra kintamasis kuriame bus saugoma ma┼żiausia reik┼ím─Ś tarp kintam┼│j┼│ m1 ir m2

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»
Dabar, Zero Two para┼í─Ś:

tai yra tiesiog kintamojo pavadinimas, n─Śra skirtimo kaip tu kintamuosius u┼żvadinsi, reikia tik pa─Źiam suprasti k─ů jie daro, gali laisvai pavadinti kintamaj─»

int super_kietas_super_pavadinimas = 5;

pavadinimas nedaro jokios ─»takos, kaip ir ┼íitoje situacijoje delay yra tiesiog pavadinimas, kad prisimintum, kad ─Źia yra kintamasis kuriame bus saugoma ma┼żiausia reik┼ím─Ś tarp kintam┼│j┼│ m1 ir m2

Aaai, supratau tada. Pagalvojau, kad ─Źia yra ka┼żkokia funkcija, kaip string ar ka┼żkas┬á?. Anyways, d─Śkui u┼ż pagalb─ů.

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»
Dabar, Tomas Astrauskas para┼í─Ś:

Aaai, supratau tada. Pagalvojau, kad ─Źia yra ka┼żkokia funkcija, kaip string ar ka┼żkas┬á?. Anyways, d─Śkui u┼ż pagalb─ů.

Na, string n─Śra funkcija, tai yra irgi kintamasis tik jis saugo ┼żod┼żius bei sakinius, char┬ápavyzd┼żiui saugo vien─ů koki─ů nors raid─Ö,┬áint┬á- saugo skai─Źi┼│ nuo┬á-2147483647 iki┬á2147483647, double┬á- naudojamas skai─Źiams su kableliu ir pana┼íiai.

Betkokia funkcija tur─Śs skliaustus, kuriuose da┼żniausiai reikia ─»ra┼íyti kokius nors duomenis, kaip pavyzdyje - min(m1,m2);

Na ai┼íku ─Źia gal per daug informacijos kaip pradedan─Źiajam :D

 

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»
Dabar, Zero Two para┼í─Ś:

Na, string n─Śra funkcija, tai yra irgi kintamasis tik jis saugo ┼żod┼żius bei sakinius, char┬ápavyzd┼żiui saugo vien─ů koki─ů nors raid─Ö,┬áint┬á- saugo skai─Źi┼│ nuo┬á-21´╗┐47483647 iki┬á2147483647, double┬á- naudojamas skai─Źiams su kableliu ir pana┼íiai.

Betkokia funkcija tur─Śs skliaustus, kuriuose da┼żniausiai reikia ´╗┐─»ra┼íyti kokius nors duomenis, kaip pavyzdyje - min(m1,m2);

Na ai┼íku ─Źia gal per daug informacijos kaip pradedan─Źiajam :D

 

D─Śkui?Ma─Źiau, kad sprend┼żiant ┼íit─ů u┼żdavin─» j┼źs naudojot b┼źtent t─ů funkcij─ů min(m1,m2). Na, dar daug ko i┼ímokt man, bet kaip sakoma be darbo nieko nebus.

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»
2019-10-07 19:58, Zero Two para┼í─Ś:

Na, string n─Śra funkcija, tai yra irgi kintamasis tik jis saugo ┼żod┼żius bei sakinius, char┬ápavyzd┼żiui saugo vien─ů koki─ů nors raid─Ö,┬áint┬á- saugo skai─Źi┼│ nuo┬á-2147483647 iki┬á2147483647, double┬á- naudojamas skai─Źiams su kableliu ir pana┼íiai.

Betkokia funkcija tur─Śs skliaustus, kuriuose da┼żniausiai reikia ─»ra┼íyti kokius nors duomenis, kaip pavyzdyje - min(m1,m2);

Na ai┼íku ─Źia gal per daug informacijos kaip pradedan─Źiajam :D

 

C++ kalboje n─Śra string. Yra┬átik char┬ámasyvas:

char* sakinys = "Labas vakaras.";

┬ástd::string klas─Ś turi t─ů masyv─ů ir kr┼źva funkcij┼│┬áskirt┼│ manipuliuoti to┬ámasyvo duomenimis.
Ko pasekoje atrodo kad string yra kintamojo┬áduomen┼│ tipas,┬ánors pats kintamasis i┼ítikr┼│j┼│ yra std::string klas─Śs objektas.
Funkcija C++ kalboje nebutinai tures sklaustus nes funkcija gali buti ir perra┼íyti operatoriai tokie kaip <<, >>, +, -,/,*,[] ir t.t. Naujokui i┼íviso si┼źly─Źiau vengti ┼íios kalbos jei nori grei─Źiau pasiekti ka┼żkoki┼│ rezultatu.

Redaguota , nario Amxxl

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»
2019-11-02 18:17, dees para┼í─Ś:

Kada mokyklose pagaliau nustos mokyt kintamuosius vadinti "a", "b", "wqeqiwje" ir velnias ┼żino kaip?

Niekada. Mokyklos tikslas i┼ímokyti logikos, o ne kaip taisyklingai ra┼íyti kod─ů. Bent jau C++ kalboje reik─Śtu prie kintam┼│j┼│ prid─Śti prefixus tokius kaip m_ - class member, s_ - static, g_ - global ir tipus tokius kaip f - float, i - int, b - bool, d - double.┬áKintamieji atrodytu daug ma┼ż taip:
m_fVelocity, m_bVisible, m_iWidth ir t.t.
Ma┼żose programose n─Śra skirtumo d─Śl to gal mokyklose ir vadina kintamuosius "a", "b" ir pan.
Bet dideliuose projektuose reikia disciplinos kad nepaversti kodo į mišraine. :D

Dalintis ┼í─» prane┼íim─ů


Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»

Prisijungti prie diskusijos

Palikti atsakym─ů galite i┼í karto, o u┼żsiregistruoti v─Śliau. Jeigu jau turite paskyr─ů m┼źs┼│ forume, Prisijunkite.

Sve─Źias
Atsakyti šioje temoje...

×   ─«klijuotas tekstas turi teksto formatavim─ů.   Pa┼íalinti teksto formatavim─ů

  Galimi tik 75 veidukai.

×   Nuoroda buvo automati┼íkai ─»terpta.   ─«terpti nuorod─ů paprastai

×   J┼źs┼│ ankstesnis prane┼íimas buvo atkurtas.   I┼ívalyti redaktori┼│

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


  • Temos, kurios buvo pa┼żym─Śtos tomis pa─Źiomis ┼żym─Śmis:

  • ┼áiame puslapyje nar┼ío:   0 nariai

    N─Śra registruot┼│ nari┼│ per┼żi┼źrin─Źi┼│ ┼í─» forum─ů.

  • eneba
  • eneba
  • eneba



  • SuperGames programele
  • SuperGames programele