Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki, turiu duomenu faila

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

cia pirmas skaicius 6,3, 8 nusako koordinaciu skaiciu (n). Pasirasiau nuskaityma

void Ivesti(FiguruKoteineris & fgk, const char CD[CMaxx], string & pavadinimas, int & n, int & ap, int & tr, int & kv){
double x, y, s;
Figura f;
ifstream fd(CD);

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);
		ap++;// apskaiciuoja kiek yra apskritimu

	}else
	for(int i=0; i<n/2; i++){
		fd >> x >> y;
		f.DetiKord(i, x, y);
	}
	// Tikrinimas--------------
	if(n==6){
		pavadinimas = "Trikampis";
		tr++; // kiek trikampiu
		}else if(n == 8){
			pavadinimas = "Keturkampis";
			kv++; // apskaiciuoja kiek faile yra kvadratu
		}
	//-------------------------
		fgk.Deti(f);	
}
fd.close();
}

Beda ta kad cia nuskaitymas ir tikrinimas kiek yra figuru ir figuru vardu priskyrimas yra toje pacioje void funkcijoje. Noriu kad nuskaitymas butu void Ivesti(), o Tikrinimas kazkokiame tai kitame voide. Kaip tai padaryti? Zinau kad greiciausiai atsakymas butu sukti cikla kitoje void funkcijoj taciau iki ko?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, turiu duomenu faila

 

cia pirmas skaicius 6,3, 8 nusako koordinaciu skaiciu (n). Pasirasiau nuskaityma

void Ivesti(FiguruKoteineris & fgk, const char CD[CMaxx], string & pavadinimas, int & n, int & ap, int & tr, int & kv){
double x, y, s;
Figura f;
ifstream fd(CD);

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);
		ap++;// apskaiciuoja kiek yra apskritimu

	}else
	for(int i=0; i<n/2; i++){
		fd >> x >> y;
		f.DetiKord(i, x, y);
	}
	// Tikrinimas--------------
	if(n==6){
		pavadinimas = "Trikampis";
		tr++; // kiek trikampiu
		}else if(n == 8){
			pavadinimas = "Keturkampis";
			kv++; // apskaiciuoja kiek faile yra kvadratu
		}
	//-------------------------
		fgk.Deti(f);	
}
fd.close();
}

Beda ta kad cia nuskaitymas ir tikrinimas kiek yra figuru ir figuru vardu priskyrimas yra toje pacioje void funkcijoje. Noriu kad nuskaitymas butu void Ivesti(), o Tikrinimas kazkokiame tai kitame voide. Kaip tai padaryti? Zinau kad greiciausiai atsakymas butu sukti cikla kitoje void funkcijoj taciau iki ko?

Paiimi ta kodo fragmenta, kur yra tikrinimas, idedi i kita funkcija, kuri grazina rezultata, problem solved. Nezinau, apie koki cikla galvoji cia.

string Tikrinimas (int n) {
if(n==6)
   return "trikampis";
       else if(n == 8){
          return "keturkampis";
       return "nezinoma figura";
}

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Paiimi ta kodo fragmenta, kur yra tikrinimas, idedi i kita funkcija, kuri grazina rezultata, problem solved. Nezinau, apie koki cikla galvoji cia.

string Tikrinimas (int n) {
if(n==6)
   return "trikampis";
       else if(n == 8){
          return "keturkampis";
       return "nezinoma figura";
}

Ciklas bet kokiu atveju yra butinas. Kitaip niekaip neapskaiciuosiu kiek yra tam tikru figuru. + Tikrinant kitoje funkcijoje tavo nurodyta varianta n jau turi tam tikra reiksme, todel tai ka parasei nera teisinga, nebent butu kazkoks ciklas ir per nauja butu nuskaitoma n reiksme.

Redagavo deividas707
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ciklas bet kokiu atveju yra butinas. Kitaip niekaip neapskaiciuosiu kiek yra tam tikru figuru. + Tikrinant kitoje funkcijoje tavo nurodyta varianta n jau turi tam tikra reiksme, todel tai ka parasei nera teisinga, nebent butu kazkoks ciklas ir per nauja butu nuskaitoma n reiksme.

Nieko nesupratau, ka tu nori cia padaryt. Nori kad tikrinimas butu visiskai atskirai nuo skaitymo ir kitu funkciju?

void Tikrinimas (FiguruKonteineris & fgk, int & trikampiai, int & keturkampiai) {
    for (int i = 0; i < fgk_dydis; i++) {
         if (i-tosios figuros n == 3) trikampiai++;
         else if (i-tosios figuros n == 4) keturkampiai;   
    }          
}

 

Beje, mano variantas yra teisingas, tik ji reik atitinkamoj programos vietoj kviest (si karta buvo rasyta su intencija, kad kviesti is skaitymo toj vietoj, kur nusiskaitau n)

Redagavo hafnis1324
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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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