Programavimas. Klausimai del užduočių, kurių nesuprantu C++.
mendinskis (+1455)
Lukai, aciu. Perrasiau programa, bet kazkas ne taip (ji labai ilga http://pastebin.com/sGnys7dc todel pereisiu prie pacios esmes). Niekaip nesumastau kur padariau klaida. Labiausiai neramina tas i does not name a type. Kauip cia suprasti, lyg viska teisingai padariau. Gal kas turit minciu? Visa kita bandysiu pats kapstytis.
pakeista prieš 12 m
DEMO +1000
Kaip suprantu, B pas tave berniukų ūgių masyvas, M - mergaičių ūgių masyvas. Ar ne?
mendinskis (+1455)
lukasmKaip suprantu, B pas tave berniukų ūgių masyvas, M - mergaičių ūgių masyvas. Ar ne?
taip. Bet ka tik radau klaida viena. Neapskliaudziau void Tikrinti. pabandysiu taisytis.
Ernis (+96)
cia ziuriu as tikriausiai vienintelis senamadis, su pascaliu egza laikysiu ;D
mendinskis (+1455)
Na va klaidu nors ir maziau bet yra
DEMO +1000
Iš pradžių ištaisyk skaitymo funkciją - ji vis dar neteisinga. Jau rašiau, kas ten blogai:
lukasmŠitoks sakinys reiškia: jei masyvo C i-tasis narys teigiamas, tai iš tekstinio failo nuskaityti i-tąjį masyvo B narį. Dėl to i-tajam masyvo B nariui priskirs jau ne i-tąją masyvo C reikšmę, tačiau reikšmę, tekstiniame faile einančią po i-tosios masyvo C reikšmės. Pavyzdžiui, jei tekstiniame faile duoti skaičiai 1, -1, 5, -3, tai pagal tavo parašytą sąlygą C[0]=1, B[0]=-1, C[1]=5, B[1]=-3.
Jei kompiuteris nuskaito neigiamą reikšmę, į masyvą reikia įrašyt ją be minuso. Kodėl į masyvą vistiek rašai neigiamas reikšmes?..
pakeista prieš 12 m
mendinskis (+1455)
Erniscia ziuriu as tikriausiai vienintelis senamadis, su pascaliu egza laikysiu ;D
Nieko cia ziauraus. Su paskaliu dar paprasciau daug kas sako, bet studijuojant visai nauja kalba teks mokintis :D
mendinskis (+1455)
lukasmIš pradžių ištaisyk skaitymo funkciją - ji vis dar neteisinga. Jau rašiau, kas ten blogai. Jei kompiuteris nuskaito neigiamą reikšmę, į masyvą reikia įrašyt ją be minuso. Kodėl į masyvą vistiek rašai neigiamas reikšmes?..
Nelabai supratau as ten. Beje jei visu berniuku ugis yra minusinis, tai paprasciausiai irasius fr >> -(bugis) netiktu? Bet cia su masyvais toks dalykas netinka....
DEMO +1000
Aš dariau tokią skaitymo funkciją: void input(int & n, double u, int & j, int & k, double M[], double B[], double U[]) { ifstream fd(CDfv); j=0; k=0; fd>>n; for (int i=0; i<n; i++) { fd>>u; if (u>0) { U[i]=u; M[j]=u; j=j+1; } else { U[i]=-u; B[k]=-u; k=k+1; } } fd.close(); } Gal tai ir ne vienintelis būdas, nesakau, kad ir pats geriausias. Tavo sudaryta skaitymo funkcija klaidinga: void Skaityti(int A[], int B[], int C[], int & n, double & msum, double & bsum){ ifstream fd(CDfv); fd >> n; for(int i=0; i<n; i++){ fd >> C[i]; // čia į masyvą įrašai tokį skaičių, koks jis yra tekstiniame faile, tačiau tau reikia įrašyti to skaičiaus modulį if(C[i]<0){ fd >> B[i]; // čia nuskaitai jau tolimesnį skaičių iš tekstino failo. Turėtum rašyti B[i]=C[i] bsum=bsum+B[i]; } else fd >> A[i]; // tas pats ir čia msum=msum+A[i]; } fd.close(); }