Tony N.

Funkcija, grąžinanti apskaičiuotą reikšmę per funkcijos vardą

Recommended Posts

Heyooo, gal yra žmonių, kurie galėtų padėti su šiuo uždaviniu? 

https://imgur.com/a/xd4rVdX

Man pavyko atlikti tik taip:

Spoiler

#include<fstream>
#include<iomanip>
#include<cmath>
#include<iostream>
using namespace std;
const char fd[]="u1.txt";
const char fr[]="u2.txt";

int plotas (int&x, int&y)
{
    int s;
    s=x*3;
    return s;
}
int main()
{
    int x,y,s;
    ifstream duom(fd);
    duom>>x>>y;
    s=plotas(x,y);
    ofstream rez(fr);
    rez<<s<<endl;
    duom.close();
    rez.close();
}


 


 

Ir taip, aš suprantu ką reikia atlikti, tiesiog nemoku išspręsti programuojant. Soo, būčiau labai DĖKINGAS jei padėtumėt ir, daugiau praktikos turėtumėt. ;)

Redaguota , nario Tony N.
Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
#include <algorithm>    
#include <fstream>

using namespace std;

struct cords {
    int x1, y1, x2, y2; 
};

int getIntersection(int x1, int y1, int x2, int y2,
    int x3, int y3, int x4, int y4,
    int x5, int y5, int x6, int y6)
{
    int x7 = max(max(x1, x3), x5);
    int y7 = max(max(y1, y3), y5);

    int x8 = min(min(x2, x4), x6);
    int y8 = min(min(y2, y4), y6);

    return (x8 - x7) * (y8 - y7);
}

int main()
{
    ifstream duom("u1.txt");
    cords cords[100];
    int i = 0;
    while (!duom.eof()) {
        duom >> cords[i].x1 >> cords[i].y1 >> cords[i].x2 >> cords[i].y2;
        i++;
    }
    duom.close();
	
    ofstream rez("u2.txt");
    rez << getIntersection(cords[0].x1, cords[0].y1, cords[0].x2, cords[0].y2,
        cords[1].x1, cords[1].y1, cords[1].x2, cords[1].y2,
        cords[2].x1, cords[2].y1, cords[2].x2, cords[2].y2) << endl;
    rez.close();
	
    return 0;
}

 

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
Parašė (redaguota)
prieš 15 valandas(-ų), Bancik parašė:
#include <algorithm>    
#include <fstream>

using namespace std;

struct cords {
    int x1, y1, x2, y2; 
};

int getIntersection(int x1, int y1, int x2, int y2,
    int x3, int y3, int x4, int y4,
    int x5, int y5, int x6, int y6)
{
    int x7 = max(max(x1, x3), x5);
    int y7 = max(max(y1, y3), y5);

    int x8 = min(min(x2, x4), x6);
    int y8 = min(min(y2, y4), y6);

    return (x8 - x7) * (y8 - y7);
}

int main()
{
    ifstream duom("u1.txt");
    cords cords[100];
    int i = 0;
    while (!duom.eof()) {
        duom >> cords[i].x1 >> cords[i].y1 >> cords[i].x2 >> cords[i].y2;
        i++;
    }
    duom.close();
	
    ofstream rez("u2.txt");
    rez << getIntersection(cords[0].x1, cords[0].y1, cords[0].x2, cords[0].y2,
        cords[1].x1, cords[1].y1, cords[1].x2, cords[1].y2,
        cords[2].x1, cords[2].y1, cords[2].x2, cords[2].y2) << endl;
    rez.close();
	
    return 0;
}

 

Ohh.. Nelabai supratau, ką čia padarei, nes mes dar tokių nesimokėm, pas tave nėra const char'o su failo u1 pavadinimu, kuriame turėtų būti surašyti pradiniai duomenys, o viską suprogramavus, failas u2 su atsakymu turėtų atsirasti pats. Padaryk pagal mano jau atliktą užduotį, tik kad aš kažką ten ne iki galo padariau ir nepavyksta sutvarkyti taip, kad gautųsi tinkamas atsakymas, kuris yra rezultatų lentelėje.

Redaguota , nario Tony N.
Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
26 minutes prieš, Tony N. parašė:

Ohh.. Nelabai supratau, ką čia padarei, nes mes dar tokių nesimokėm, pas tave nėra const char'o su failo u1 pavadinimu, kuriame turėtų būti surašyti pradiniai duomenys, o viską suprogramavus, failas u2 su atsakymu turėtų atsirasti pats. Padaryk pagal mano jau atliktą užduotį, tik kad aš kažką ten ne iki galo padariau ir nepavyksta sutvarkyti taip, kad gautųsi tinkamas atsakymas, kuris yra rezultatų lentelėje.

Tu turbūt nesupranti, jog const char fd[]="u1.txt"; tas pats kaip const string fd ="u1.txt". Tai nelabai suprantu, kaip tu žadi pradinius duomenis į jį saugoti, kai čia deklaruotas failo pavadinimas. Ką tu pats parašęs visiškai yra klaidinga, net pats skaitymas yra blogas, nes išsaugai tik pirmas 2 reikšmias, o tau reikia išsaugot x1, y1 ir x2, y2 visų trijų eilučių. Jeigu jūs nesimokėt struct, tai pakeisk saugojimą į kažką kitką ką mokėtės.

Redaguota , nario Bancik
Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
3 minutes prieš, Bancik parašė:

Tu turbūt nesupranti, jog const char fd[]="u1.txt"; tas pats kaip const string fd ="u1.txt". Tai nelabai suprantu, kaip tu žadi pradinius duomenis į jį saugoti, kai čia deklaruotas failo pavadinimas. Ką tu pats parašęs visiškai yra klaidinga, net pats skaitymas yra blogas, nes išsaugai tik pirmas 2 reikšmias, o tau reikia išsaugot x1, y1 ir x2, y2 visų trijų eilučių. Jeigu jūs nesimokėt struct, tai pakeisk saugojimą į kažką kitką ką mokėtės.

Tai sakau, kad nesimokėm, tai kaip galiu suprasti? :D

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
7 minutes prieš, Tony N. parašė:

Tai sakau, kad nesimokėm, tai kaip galiu suprasti? :D

Pakeisk struct į kažką kitką, kad išsaugotum eilučių koordinates ir galėtum jas atskirti. Gali hardcodint ir  padaryt 3 atskirus masyvus pvz.    

    int pirmasRectangle [3];
    int antrasRectangle [3];
    int treciasRectangle [3];

ir pirmą eilutę saugot pirmam masyve, pvz pirmasRectangle[0] = pirma reikšmė iš failo pirmos eilutės,  pirmasRectangle[1] = antra reikšmė iš failo pirmos eilutės...

ir paduok į getIntersection(pirmasRectangle[0], pirmasRectangle[1], ..., treciasRectangle[3])

Redaguota , nario Bancik
Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
prieš 6 valandas(-ų), Tony N. parašė:

Ohh.. Nelabai supratau, ką čia padarei, nes mes dar tokių nesimokėm, pas tave nėra const char'o su failo u1 pavadinimu, kuriame turėtų būti surašyti pradiniai duomenys, o viską suprogramavus, failas u2 su atsakymu turėtų atsirasti pats. Padaryk pagal mano jau atliktą užduotį, tik kad aš kažką ten ne iki galo padariau ir nepavyksta sutvarkyti taip, kad gautųsi tinkamas atsakymas, kuris yra rezultatų lentelėje.

Bet tu ir a*****l aš pasakysiu. Žmogus gaišo savo laiką, kad be jokios atgalinės naudos padarytų tau užduotį, o tu, vietoj to, kad iš jo kodo pasimokytum, pasidomėtum ką ir kodėl jis padarė, prašai jo, kad dar kartą gaištų savo laiką ir perdarinėtų visą kodą taip, kaip tu moki? Naglumo viršūnė. Nei ačiū, nei nieko. Čia jau tavo problema jei jūs kažko nesimokėt. Norėtum - pasidomėtum papildomai ir išmoktum, o ne aiškintum, kad nesimokėt ir tu nesupranti. Ne mūsų problema. Jei tau programavimo reikia vien dėl to, kad jį pasirinkai ir dabar reikia pabaigti, tai net negaišk laiko ir sakyk mokytojai, kad nelaikysi egzo. Bet jei tu planuoji universitete stoti į programavimą, tai pamiršk, nes su tokiu nusiteikimu neištempsi nei pirmo semestro.

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.


  • Šiame puslapyje naršo:   0 nariai

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