Peršokti į turinį

Negaunu pirmo masyvos reiksmes


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2969 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki sprendziu sita uzduoty : http://konkursai.if.ktu.lt/index.php/pamokeliu-uzduotys-2/item/29-2-lygis/2317-taupymas

 ir susiduriau su problema nlb sugebejau issiaiskint kame beda , taigi viskas veikia puikiai iki tol kol reikia suskaiciuoti kiekvieno zmogaus bendras islaidas :

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

const string fn = "info.txt";
const string fnrez = "rez.txt";


class Savings
{
public:
    double money_they_have;
    double money_they_spend[10];
    double total_spend;
};

void Fread(const string fn,Savings v[],int &d,int k);
void Money_Spend_Each(Savings v[],int d,int k);

int main()
{
    int kiek = 10;
    int d;
    int k = 3;
    Savings v[kiek];
    Fread(fn,v,d,k);
    Money_Spend_Each(v,d,k);
    return 0;
}
// File reading from "into.txt" and storing to class "Savings"
void Fread(const string fn,Savings v[],int &d,int k){

    ifstream fin(fn.c_str());
    fin >> d;
    fin.ignore();
    for(int a =0; a < k; a++){
        fin >> v[a].money_they_have;
    }
    for(int a = 0; a< d; a++){
        for(int b = 0; b < k; b++){
            fin >> v[b].money_they_spend[a];
        }
    }
    fin.close();
}
// Money spend each
void Money_Spend_Each(Savings v[],int d,int k){
    for(int a = 0; a < k; a++){
        for(int b = 0; b < d; b++){
            v[a].total_spend += v[a].money_they_spend[b];
        }
    }
}



ce visas mano kodas kad butu aiskiau , taiki funkcijoj "Money_spend_each" skaiciuoju bendras islaidas , taciau reiksme v[0].totalspend yra kazkoke nesamoninga "9.99709e+268"  antro ir trecio elemento reiksmes yra tokios kokios ir turetu but problema yra tik su pirma reiksme , tikrinau masyvo v[0].money_they_spend[0-10] reiksmes visos reiksmes tokios kokios ir faile is kurio nuskaiciau , taciau kai jas sudedu kazkodel gaunu toke nesamoninga reiksme , ir problema tame jog tai yra tik 0 elementui o 1 ir 2 gaunu gera reiksme , gal kas zino kodel ?

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

jo viskas veikia dq labai , taip pat klausimas , ta uzduotis manes reikalauja labai dauk funkciju kurimo apskaiciuoti dienos islaidas ir visokes nesamones ka as galeciau padaryti , pries i rasant i faila , tai man klausimas jeigu daryt tas funkcijas tai kurt atskirus kintamuosius kurie grazintu rezultatus , ir poto tuos rezultatus naudot irasant i faila ? nes ta prasme as galeciau klasej sukurti visus tuos kintamuosius ir suskaiciuoti reiksmes jiems tik ar toks sprendimo budas ira priimtinas ir kaip geriau butu daryti ?

Redaguota , nario yahoo5000
Nuoroda į komentarą
Dalintis per kitą puslapį

jo viskas veikia dq labai , taip pat klausimas , ta uzduotis manes reikalauja labai dauk funkciju kurimo apskaiciuoti dienos islaidas ir visokes nesamones ka as galeciau padaryti , pries i rasant i faila , tai man klausimas jeigu daryt tas funkcijas tai kurt atskirus kintamuosius kurie grazintu rezultatus , ir poto tuos rezultatus naudot irasant i faila ? nes ta prasme as galeciau klasej sukurti visus tuos kintamuosius ir suskaiciuoti reiksmes jiems tik ar toks sprendimo budas ira priimtinas ir kaip geriau butu daryti ?

 

Na taip aš pats nepirmą kartą pastebėjas, kad jie prašo apkrauti kodą tačiau yra kaip yra, jeigu jie prašo funkcijų manau jie nori pamatyti kaip tu moki jas kurti todėl teks kurti visas atskirai. Na o dėl kintamūjų ten nebus didelę apkrova, nes kiek mačiau ten prašo daug kur gražinti vieną reikšme tiesiog int funkcijas naudok

Nuoroda į komentarą
Dalintis per kitą puslapį

na as galvojau naudoti int arba double funkcija bet  tuo atveju man reiktu grazinti masyva nes kadangi yra trys zmones su islaidomis man reikes grazinti tris reiksmes , todel bent jau man butu paprasciau sukurti kintamuosius klaseja ir y juos isvesti , tik nezinau ar tai tikslinga


#include <iostream>
#include <fstream>
#include <string>
using namespace std;

const string fn = "info.txt";
const string fnrez = "rez.txt";


class Savings
{
public:
    double money_they_have;
    double money_they_spend[10];
    double total_spend = 0;
    double avgspend;
    double money_left;

};

void Fread(const string fn,Savings v[],int &d,int k);
void Money_Spend_Each(Savings v[],int d,int k);
void Average_Spend(Savings v[],int d , int k);
void Money_left(Savings v[],int k);
void More_then_avarage_per_day(Savings v[],int &days,int d,int k);
void Fwrite(const string fn,Savings v[],int days, int k);

int main()
{
    int kiek = 10;
    int d;
    int k = 3;
    int days = 0;
    Savings v[kiek];
    Fread(fn,v,d,k);
    Money_Spend_Each(v,d,k);
    Average_Spend(v,d,k);
    Money_left(v,k);
    More_then_avarage_per_day(v,days,d,k);
    Fwrite(fnrez,v,days,k);
    return 0;
}
// File reading from "into.txt" and storing to class "Savings"
void Fread(const string fn,Savings v[],int &d,int k){

    ifstream fin(fn.c_str());
    fin >> d;
    fin.ignore();
    for(int a =0; a < k; a++){
        fin >> v[a].money_they_have;
    }
    for(int a = 0; a< d; a++){
        for(int b = 0; b < k; b++){
            fin >> v[b].money_they_spend[a];
        }
    }
    fin.close();
}
// Money spend each
void Money_Spend_Each(Savings v[],int d,int k){
    for(int a = 0; a < k; a++){
        for(int b = 0; b < d; b++){
            v[a].total_spend += v[a].money_they_spend[b];
        }
    }
}
//average spend
void Average_Spend(Savings v[],int d , int k){
    for(int a =0; a < k; a++){
        v[a].avgspend = v[a].total_spend/d;
    }
}
//Money left
void Money_left(Savings v[],int k){
    for(int a = 0; a < k; a++){
        v[a].money_left = v[a].money_they_have - v[a].total_spend;
    }
}

// Money spend more then average per day
void More_then_avarage_per_day(Savings v[],int &days,int d,int k){
    for(int a = 0; a < k; a++){
        for(int b = 0; b < d; b++){
            if(v[a].money_they_spend[b] > v[a].avgspend){
                days++;
            }
        }
    }
}

// File writing to "rez.txt" from class "savings"
void Fwrite(const string fn,Savings v[],int days, int k){
    ofstream fout(fn.c_str());
    fout << "Vaikinai isleido:" << endl;
    for(int a = 0; a < k; a++){
        fout << v[a].total_spend << " ";
    }
    fout << endl;
    fout << "Dienos islaidu vidurkis:" << endl;
    for(int a =0; a < k; a++){
        fout << v[a].avgspend << " ";
    }
    fout << endl;
    fout << "Vaikinams liko pinigu:" << endl;
    for(int a =0; a < k; a++){
        fout << v[a].money_left << " ";
    }
    fout << endl;
    fout << "Dienų skaičius, kai vaikinai išleido daugiau už savo dienos vidurkį:" << days << endl;
    fout.close();
}

Uzduotis ispresta mano sprendimo budu , jeigu kada nors kam nors kiltu klausimas ar reiketu pavyzdio :)

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2969 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...