almostlow (+3116)
Nu man veikia nežinau. Kur tu kvieti ta funkciją?. Parodyk. Ir iš esmės aš šita uždavinį daryčiau viska main funkcijoje, bet jei jau taip pradėjai tai galim ir taip užbaigt.
pakeista prieš 9 m
almostlow (+3116)
Nu man veikia nežinau. Kur tu kvieti ta funkciją?. Parodyk. Ir iš esmės aš šita uždavinį daryčiau viska main funkcijoje, bet jei jau taip pradėjai tai galim ir taip užbaigt.
pakeista prieš 9 m
dalampacki (+66)
Aš čia skaičiavau dabar nelyginių ir lyginių sumas, bet vis vien spausdina nulius, pasimečiau visai..#include <fstream>
using namespace std;
int n;
int m;
int X[50], Y[50];
int X1[50], Y1[50];
int lyginiu_suma = 0;
int nelyginiu_suma = 0;
//--------------------------------------------------
int Lyginiainelyginiai();
void skaityk();
void spausdink();
//--------------------------
int main()
{
Lyginiainelyginiai();
skaityk();
spausdink();
return 0;
}
//--------------------------------------
void skaityk()
{
ifstream fd("duomenys.txt");
fd >> n;
for(int i = 0; i < n; i++)
{
fd >> X[i] >> Y[i];
m++;
X1[m] = X[i];
Y1[m] = Y[i];
}
fd.close();
}
int Lyginiainelyginiai()
{
for (int i = 0; i < n; i++)
{
if(X[i] % 2 == 0) // jeigu namo numeris dalijasi iš dviejų be liekanos, jis yra lyginis skaičius
lyginiu_suma = lyginiu_suma + Y[i];
else // jeigu tai nelyginis namo numeris
nelyginiu_suma = nelyginiu_suma + Y[i];
}
}
void spausdink()
{
ofstream fr("rezultatai.txt");
fr << "Namo nr " << "Gyventoju sk" << endl;
fr << "-------" << endl;
fr << lyginiu_suma << endl;
fr << nelyginiu_suma << endl;
for(int i = 1; i <= n; i++)
fr << X1[i] << " " << Y1[i] << endl;
fr.close();
}
pakeista prieš 9 m
almostlow (+3116)
Pradedam nuo main funkcijos. Turi atsimint kad eiliškumas programavime svarbus dalykas. Vadovaujantis tavo logiką tai tu iš pradžių apskaičiuoji lyginius ir nelyginius namu gyventojus o tik po to nuskaitai duomenys. Ar tai logiška? Manau ne.
Ir funkcija kuri nėra void turi kažka gražinti. Ir ji gali gražinti tik viena reikšmę. Taigi tau reikia sukurti dvi funkcijas: Kuri apskaičiuoti lyginius, ir kuri apskaičiuotu nelyginius.
dalampacki (+66)
almostlowPradedam nuo main funkcijos. Turi atsimint kad eiliškumas programavime svarbus dalykas. Vadovaujantis tavo logiką tai tu iš pradžių apskaičiuoji lyginius ir nelyginius namu gyventojus o tik po to nuskaitai duomenys. Ar tai logiška? Manau ne.
Ir funkcija kuri nėra void turi kažka gražinti. Ir ji gali gražinti tik viena reikšmę. Taigi tau reikia sukurti dvi funkcijas: Kuri apskaičiuoti lyginius, ir kuri apskaičiuotu nelyginius.
almostlow (+3116)
funkcijoje reikšmę gražina return sakinys. int Lyg(int X[],int Y[], int n)
{
int sumal = 0;
for (int i=0 ; i<n ; i++){
if (X[i]%2!=0){
sumal = sumal + Y[i];
}
}
return sumal;
}int main()
{
skaityk();
suml = Lyg(X,Y,n);
spausdink();
return 0;
}
Cia kaire namo puse.
pakeista prieš 9 m
dalampacki (+66)
Ai žodžiu, vis vien negrąžina rezultato fr << sumal << endl;
ir beje, kodėl tokia eilutė: suml = Lyg(X,Y,n); o ne tokia Lyg(int X[],int Y[], int n); ar čia tas pats realiai ?
almostlow (+3116)
Nors dabar panagrinejus is esmes cia netinka funkcijas daryt nes tau apart to kad reikia gyventoju suma apskaiciuot bet taip pat ir gaut kiek tokiu namu yra. Taip kad gal viska rasyk main funkcijoje, pradžiai taip.
dalampacki (+66)
almostlowNors dabar panagrinejus is esmes cia netinka funkcijas daryt nes tau apart to kad reikia gyventoju suma apskaiciuot bet taip pat ir gaut kiek tokiu namu yra. Taip kad gal viska rasyk main funkcijoje, pradžiai taip.
almostlow (+3116)
dalampackialmostlowNors dabar panagrinejus is esmes cia netinka funkcijas daryt nes tau apart to kad reikia gyventoju suma apskaiciuot bet taip pat ir gaut kiek tokiu namu yra. Taip kad gal viska rasyk main funkcijoje, pradžiai taip.
Tai juk lyginius skaičius su nelyginiais sudedi ir viskas.
Man atrodo mano variante buvo teisingai viskas, tik, kad kažko trūksta..
pakeista prieš 9 m
dalampacki (+66)
almostlowdalampackialmostlowNors dabar panagrinejus is esmes cia netinka funkcijas daryt nes tau apart to kad reikia gyventoju suma apskaiciuot bet taip pat ir gaut kiek tokiu namu yra. Taip kad gal viska rasyk main funkcijoje, pradžiai taip.
Tai juk lyginius skaičius su nelyginiais sudedi ir viskas.
Man atrodo mano variante buvo teisingai viskas, tik, kad kažko trūksta..
Nu tau reik reik kiek nelyginiu, ir kiek lyginiu yra namu: ty. tai is funkcijos reiks istraukt kelias reiksmes o kaip minėjau tai yra neįmanoma.. O kurti tiek funkciju tokiame nedideliame kode nežinau ar verta.
Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »
© 2007 - 2024 eMatematikas.lt Kontaktai Naudojimosi taisyklės Privatumo politika