Pereiti prie turinio

Rekomenduojami pranešimai

void Spausdinti(Taskas & ts, int sk){
       ofstream failas;
       failas.open(FR);
       for(int i=0; i<ts.Imti(); i++){
               if(ts.Imti()/2<2){
               failas << ts.Imti(i).SpausdintiAp() << endl;
               }else if(ts.Imti()/2>2){
                       failas << ts.Imti(i).Spausdinti() << endl;
               }
       }
}

bent taip reik rašyt į faila o šeip jei neirašo bandyk debuggeri gali būti kad kitur klaida o tesiog compileris praleidžia codeblock'e labai geras debuggeris :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

void Spausdinti(Taskas & ts, int sk){
       ofstream failas;
       failas.open(FR);
       for(int i=0; i<ts.Imti(); i++){
               if(ts.Imti()/2<2){
               failas << ts.Imti(i).SpausdintiAp() << endl;
               }else if(ts.Imti()/2>2){
                       failas << ts.Imti(i).Spausdinti() << endl;
               }
       }
}

bent taip reik rašyt į faila o šeip jei neirašo bandyk debuggeri gali būti kad kitur klaida o tesiog compileris praleidžia codeblock'e labai geras debuggeris :)

Taip irasyti reikia buten taip. Bet ts.Imti() yra netinkamas naudoti siu atveju, nes jis turi reiksme = 8. Kas netinka jau pirmoje duomenu failo eilueje :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gerai paklausiu kiek kitaip :)

Tr1 6 1.5 -5.5 5 -1.4 8.5 -5.2

Aps3 3 5.5 -5.5 10

Kt4 8 -3.5 -0.5 -3.5 5.4 2.4 5.4 2.4 -0.5

programa nesuka ciklo iki tiek kiek reikia. Dabar cikla

for(int i=0; i<fgk.Imti(); i++){ // suku iki (fgk.Imti())-1 (kas yra 4), bet atspasudina tik 7 is 17 koordnates(imeciau paveiksliuka) ka siulytumet? iki ko sukti cikla? http://pastebin.com/wLi46VgG

post-52529-0-53344900-1381508464_thumb.jpg

Redagavo deividas707
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na ar yra bent jau minimaliu minciu? Ar gal klausimo nelabai supratot?

Editinau editinau ir vis nesamoniu prirasydavau... Galutinis pasisakymas :D Irasyme tu idedi figurai n nepadalinta is dvieju, todel sakykim trikampio n = 6, o tu turi du masyvus po 3 elementus su koordinatem, todel tas ciklas spausdinimo metode figuros klasej negali teisingai veikti.

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

EDIT: truputi nepasizejau tos spausdinti f-jos is figuros klases, brr. Gali duomenu faila parodyti? Jei ten biski auksciau esanti gerai supratau, tai irasymo f-joj ciklas "for(int i=0; i<n/2; i++)" turetu eiti iki n, o ne n/2, nes atrodo, kad tas n parodo, kiek yra isviso toliau eilutej skaiciu, o ne pilnu koordinaciu (x;y)

Gal cia ir mano klaida, kad neparasiau taciau as su tuo ciklu nuskaitau ne koordnates,o kampus (kampa galima aprasyti su 2 koordinatem x ir y). Todel as turiu cikla sukti iki n/2. (tas n yra pirmas skaicius tekstiniame faile(gerai Tu ji supratai, jis virsuoje :) ) Kitaip sakant ivesdamas fd >> x >> y (18 eilute) as vienu kartu nuskaitau DVI koordnates, todel n/2 tikrai butinas :)

Redagavo deividas707
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gal cia ir mano klaida, kad neparasiau taciau as su tuo ciklu nuskaitau ne koordnates,o kampus (kampa galima aprasyti su 2 koordinatem x ir y). Todel as turiu cikla sukti iki n/2. (tas n yra pirmas skaicius tekstiniame faile(gerai Tu ji supratai, jis virsuoje :) ) Kitaip sakant ivesdamas fd >> x >> y (18 eilute) as vienu kartu nuskaitau DVI koordnates, todel n/2 tikrai butinas :)

Aha supratau jau ta paskui parases, ir dar kol rasei savo posta sita as savaji paeditinau :D zodziu, prasilenkem. Kaip ir sakiau tokiu atveju tau i figuros n reik ideti irgi padalinta is dvieju, nes tavo masyvai yra dvigubai mazesni nei idetas n, o tu suki cikla juos isspausdint vistiek iki n.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Aha supratau jau ta paskui parases, ir dar kol rasei savo posta sita as savaji paeditinau :D zodziu, prasilenkem. Kaip ir sakiau tokiu atveju tau i figuros n reik ideti irgi padalinta is dvieju, nes tavo masyvai yra dvigubai mazesni nei idetas n, o tu suki cikla juos isspausdint vistiek iki n.

Hmmm... Gal ir logiska. Persirasiau windows'us dabar ir kompiliatoriu isirasysiu ir parasyisiu ar veikia :D Bet siaip dekui uz pagalba :) bandysiu koreguoti koda trupuciuka :)

Redagavo deividas707
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Aha supratau jau ta paskui parases, ir dar kol rasei savo posta sita as savaji paeditinau :D zodziu, prasilenkem. Kaip ir sakiau tokiu atveju tau i figuros n reik ideti irgi padalinta is dvieju, nes tavo masyvai yra dvigubai mazesni nei idetas n, o tu suki cikla juos isspausdint vistiek iki n.

Dabar skaiciau skaiciau ir taip ir nesupratau. Suku cikla iki n? Kur? Figura.cpp faile?(spausdinti() metode) Jei Tu apie sita vieta tai padalinus is 2 rezultatai nei kiek nepasikeicia. Nors nemanau, kad Tu apie sita vieta kalbejai. Jei nesunku kur tiksliai reiktu man n dalinti is dvieju?

Redagavo deividas707
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dabar skaiciau skaiciau ir taip ir nesupratau. Suku cikla iki n? Kur? Figura.cpp faile?(spausdinti() metode) Jei Tu apie sita vieta tai padalinus is 2 rezultatai nei kiek nepasikeicia. Nors nemanau, kad Tu apie sita vieta kalbejai. Jei nesunku kur tiksliai reiktu man n dalinti is dvieju?

Ta veita turejau omeni, o problema labai paprasta, return srautas.str() isimk is to ciklo, nes jis grazina po pirmo irasymo i sstream'a, o ne surasius viska, ka reik ;)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ta veita turejau omeni, o problema labai paprasta, return srautas.str() isimk is to ciklo, nes jis grazina po pirmo irasymo i sstream'a, o ne surasius viska, ka reik ;)

Hafni, labai Tau aciu :) va visai nepagalvojes parasiau cikle, o ne uz jo ir viskas susimale :) siaip dekui dar karta tikrai labai padejai ;)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip ir sakiau irasymas veikia :). Tik dabar abejoju jo teisingumu, nes noriu suskaiciuoti kokiu ir kiek yra figuru. Su apskritimu viskas labai paprasta

int apkiek = 0;
while(!fd.eof()){
	fd >> pavadinimas >> n;
	f.DetiPav(pavadinimas);
	f.DetiN(n);

	if(n==3){
		fd >> x >> y >> s;
		f.DetiKordAp(0, x, y, s);
		apkiek++; // kiek yra apskritimu

	}else
	for(int i=0; i<n/2; i++){
		fd >> x >> y;
		f.DetiKord(i, x, y);
	}
		fgk.Deti(f);	
}

Truputeli sunkiau su trikampiu ir keturkampiu. Beda kad as viska rasiau i bendra masyva. Tad ar yra koks budas kaip galeciau apsiskaiciuoti trikampiu ir keturkampiu kieki? :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

n == 6 -> trikampis, n == 8 -> keturkampis

Paprasta ideja :) Dekui, bandysiu, tik dabar turiu kruvas klausimu. Tarkime noriu suskaiciuoti vienos figuros didziausia plota/perimetra ar dar kazka. kaip man pasiekti koordinates? Suprantu kad viska teks daryti modulyje, bet kaip jas pasiekti? Kaip suzinoti iki kurios vietos masyve pasibaigia tarkim trikampio koordinates ir prasideda keturkampio?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Paprasta ideja :) Dekui, bandysiu, tik dabar turiu kruvas klausimu. Tarkime noriu suskaiciuoti vienos figuros didziausia plota/perimetra ar dar kazka. kaip man pasiekti koordinates? Suprantu kad viska teks daryti modulyje, bet kaip jas pasiekti? Kaip suzinoti iki kurios vietos masyve pasibaigia tarkim trikampio koordinates ir prasideda keturkampio?

Taigi kiekvienai figurai tu turi atskira objekta, tai ir koordinates bus prie atskiru objektu, o ne kazkokiam vienam bendram masyve.

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