Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

C++ uždavinys.


Tomas86

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1896 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

int n = 5; // kaip nustatai tą sumą ? čj per konsolę
int suma = 0;

for( int i = 0; i < n; i++ )
{
    if( n == 0 ) suma += 1;
    else if( n == 1 ) suma += 2;
    else if( n == 2 ) suma += 2;
    else if( n == 3 ) suma += 3;
    else if( n == 4 ) suma += 4;
    else if( n == 5 ) suma += 8;
    else if( n == 6 ) suma += 32;
    else if( n == 7 ) suma += 256;
}

// print/rašai į failai ar pnš

Kažkas tokio čj. Nepatinka man labai tokie uždaviniai, nes neatspindi tikro pasaulio darbų.
PS. Kokia čia klasė ?

Nuoroda į komentarą
Dalintis per kitą puslapį

3 minutes prieš, Expert* parašė:

int n = 5; // kaip nustatai tą sumą ? čj per konsolę
int suma = 0;

for( int i = 0; i < n; i++ )
{
    if( n == 0 ) suma += 1;
    else if( n == 1 ) suma += 2;
    else if( n == 2 ) suma += 2;
    else if( n == 3 ) suma += 3;
    else if( n == 4 ) suma += 4;
    else if( n == 5 ) suma += 8;
    else if( n == 6 ) suma += 32;
    else if( n == 7 ) suma += 256;
}

// print/rašai į failai ar pnš

Kažkas tokio čj. Nepatinka man labai tokie uždaviniai, nes neatspindi tikro pasaulio darbų.
PS. Kokia čia klasė ?

Dėkui, 10 klasė.

Nuoroda į komentarą
Dalintis per kitą puslapį

31 minutes prieš, Expert* parašė:

int n = 5; // kaip nustatai tą sumą ? čj per konsolę
int suma = 0;

for( int i = 0; i < n; i++ )
{
    if( n == 0 ) suma += 1;
    else if( n == 1 ) suma += 2;
    else if( n == 2 ) suma += 2;
    else if( n == 3 ) suma += 3;
    else if( n == 4 ) suma += 4;
    else if( n == 5 ) suma += 8;
    else if( n == 6 ) suma += 32;
    else if( n == 7 ) suma += 256;
}

// print/rašai į failai ar pnš

Kažkas tokio čj. Nepatinka man labai tokie uždaviniai, nes neatspindi tikro pasaulio darbų.
PS. Kokia čia klasė ?

Tačiau jie pristato elementarius konceptus ir galimybę pamatyti analogijas. Plius, nepasiteiravai, ar žmogus jau dirba su masyvais, nes, kaip ir @Tomas minėjo, būtų galima daug minimaliau užrašyt. Bet ir nepaisant masyvų, atrodo, kad čia kažkoks sąryšis yra (nors tarp paskutiniųjų skaitmenų, nes 256 / 32 = 8; 32 / 8 = 4), bet galbūt ir ne, nes nepavyko rast nieko, kas būtų bendra visiems nariams.

Nuoroda į komentarą
Dalintis per kitą puslapį

5 minutes prieš, Ark'xes // konteris.lt parašė:

int n = 8;
int suma = 0;
int arr[8] = { 1, 2, 2, 3, 4, 8, 32, 256 };

int main()
{
    int arrsize = sizeof(arr) / sizeof(arr[0]);
    for( int i = 0; i < n; i++ )
    {
        if(i >= arrsize)
            break;
            
    	suma += arr[i];
    }
    
    std::cout << suma << std::endl;
}

 

10 klasėj to nemoko :D sakys per daaug sudėtinga :D

Nuoroda į komentarą
Dalintis per kitą puslapį

prieš 2 valandas(-ų), Ark'xes parašė:

int n = 8;
int suma = 0;
int arr[8] = { 1, 2, 2, 3, 4, 8, 32, 256 };

int main()
{
    int arrsize = sizeof(arr) / sizeof(arr[0]);
    for( int i = 0; i < n; i++ )
    {
        if(i >= arrsize)
            break;
            
    	suma += arr[i];
    }
    
    std::cout << suma << std::endl;
}

 

Kam tas papildomas if'as ir jump'as, kai tą tikrinimą gali tiesiog inkorporuot į ciklo sąlygą?

for ( int i = 0; n > i && arrsize >= i; i++ )

 

  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

prieš 4 valandas(-ų), don't be so cynical parašė:

Tačiau jie pristato elementarius konceptus ir galimybę pamatyti analogijas. Plius, nepasiteiravai, ar žmogus jau dirba su masyvais, nes, kaip ir @Tomas minėjo, būtų galima daug minimaliau užrašyt. Bet ir nepaisant masyvų, atrodo, kad čia kažkoks sąryšis yra (nors tarp paskutiniųjų skaitmenų, nes 256 / 32 = 8; 32 / 8 = 4), bet galbūt ir ne, nes nepavyko rast nieko, kas būtų bendra visiems nariams.

Reikia realių pavyzdžių, nes taip visada lengviau prisiminti, pvž skaičiuoti obuolius krepšyje, pirmam 1, antram 2... aštuntam 256, kiek obuolių yra pirmuosiuose 5 krepšiuose. Ty lengviau įsiminti kažką ką galima susieti su tikru gyvenimu. Atrodo kaip trečios klasės matematika, bet tai veikia.

Sprendžiau pagal uždavinio sudėtingumą ir pasitikrinimui paklausiau klasės. O tu pergalvoji ir ieškai kažkokių sąryšių, mokytojai ne kvaili supras, kad darbas per "mandras". Savo laikais carinau ne vieną "Programuotoją", geriau paprasčiau, nes kai paprašys paaiškinti GL HF.

Redaguota , nario Expert*
Nuoroda į komentarą
Dalintis per kitą puslapį

prieš 16 valandas(-ų), Expert* parašė:

Reikia realių pavyzdžių, nes taip visada lengviau prisiminti, pvž skaičiuoti obuolius krepšyje, pirmam 1, antram 2... aštuntam 256, kiek obuolių yra pirmuosiuose 5 krepšiuose. Ty lengviau įsiminti kažką ką galima susieti su tikru gyvenimu. Atrodo kaip trečios klasės matematika, bet tai veikia.

Sprendžiau pagal uždavinio sudėtingumą ir pasitikrinimui paklausiau klasės. O tu pergalvoji ir ieškai kažkokių sąryšių, mokytojai ne kvaili supras, kad darbas per "mandras". Savo laikais carinau ne vieną "Programuotoją", geriau paprasčiau, nes kai paprašys paaiškinti GL HF.

Fair point, bet, nors man, tas sukonkretinimas (tarkim, obuoliai ar kriaušės krepšy, ar dar kas nors) nepadėjo. Vis tiek galiausiai priklauso nuo žmogaus.

Nepastebėjau klausimo - my bad. Sąryšių ieškojau vien todėl, kad būtų galima kažkaip matematiškai išreikšti ir nereiktų tiek daug if sąlygų, bet kažkaip nebesigilinau daugiau, tai nieko neradau.

Nuoroda į komentarą
Dalintis per kitą puslapį

realiai ka jus cia rodot desimtokui tai yra way too hard. Tikrai jie tokiu dalyku nesimoko jie - paprasciausia programa kaip issprest jeigu nesimoke nei masyvu, nei nuskaitymu/printinimu i faila. Jeigu mokesi is/i faila, perdarys savaip.

 

#include <iostream>

using namespace std;

int main()
{
    int n;
    int suma = 0;
    cin >> n; //! parasai kiek bus skaiciu
    for(int i = 0; i < n; i++) //! for ciklas
    {
        int sk; //! susikuri skaiciaus kintamaji
        cout << "skaicius : ";
        cin >> sk; //! parasai skaiciu
        suma = suma + sk; //! Paprasciausias sumos algoritmas
    }
    cout << suma; //! atspausdina suma
    return 0;
}

 

prieš 23 valandas(-ų), Expert* parašė:

int n = 5; // kaip nustatai tą sumą ? čj per konsolę
int suma = 0;

for( int i = 0; i < n; i++ )
{
    if( n == 0 ) suma += 1;
    else if( n == 1 ) suma += 2;
    else if( n == 2 ) suma += 2;
    else if( n == 3 ) suma += 3;
    else if( n == 4 ) suma += 4;
    else if( n == 5 ) suma += 8;
    else if( n == 6 ) suma += 32;
    else if( n == 7 ) suma += 256;
}

// print/rašai į failai ar pnš

Kažkas tokio čj. Nepatinka man labai tokie uždaviniai, nes neatspindi tikro pasaulio darbų.
PS. Kokia čia klasė ?

tu cia isvis kosmosa visiska padarei :D tokiu uzdaviniu niekas taip nesprendzia

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

34 minutes prieš, Troba parašė:

realiai ka jus cia rodot desimtokui tai yra way too hard. Tikrai jie tokiu dalyku nesimoko jie - paprasciausia programa kaip issprest jeigu nesimoke nei masyvu, nei nuskaitymu/printinimu i faila. Jeigu mokesi is/i faila, perdarys savaip.

 

#include <iostream>

using namespace std;

int main()
{
    int n;
    int suma = 0;
    cin >> n; //! parasai kiek bus skaiciu
    for(int i = 0; i < n; i++) //! for ciklas
    {
        int sk; //! susikuri skaiciaus kintamaji
        cout << "skaicius : ";
        cin >> sk; //! parasai skaiciu
        suma = suma + sk; //! Paprasciausias sumos algoritmas
    }
    cout << suma; //! atspausdina suma
    return 0;
}

 

tu cia isvis kosmosa visiska padarei :D tokiu uzdaviniu niekas taip nesprendzia

Kas čia per stilius kiekvieną komentarą pradėt šauktuku? Atsižvelgiant į užduotį, seka jau duota, todėl nereikia imti user input. O dėl paskutinio sakinio sutinku, durnesnio sprendimo nesu matęs.

Nuoroda į komentarą
Dalintis per kitą puslapį

prieš 2 valandas(-ų), Troba parašė:

realiai ka jus cia rodot desimtokui tai yra way too hard. Tikrai jie tokiu dalyku nesimoko jie - paprasciausia programa kaip issprest jeigu nesimoke nei masyvu, nei nuskaitymu/printinimu i faila. Jeigu mokesi is/i faila, perdarys savaip.

 

#include <iostream>

using namespace std;

int main()
{
    int n;
    int suma = 0;
    cin >> n; //! parasai kiek bus skaiciu
    for(int i = 0; i < n; i++) //! for ciklas
    {
        int sk; //! susikuri skaiciaus kintamaji
        cout << "skaicius : ";
        cin >> sk; //! parasai skaiciu
        suma = suma + sk; //! Paprasciausias sumos algoritmas
    }
    cout << suma; //! atspausdina suma
    return 0;
}

 

tu cia isvis kosmosa visiska padarei :D tokiu uzdaviniu niekas taip nesprendzia

Tu suvoki, kad leisdamas žmogui įvesti kiekvieną narį jam suteiki galimybę lengvai padaryti klaidą ir nurodyti neteisingą sekos skaičių? Plius, sąlygoje yra duotas tik vienas kintamasis, priklausomas nuo žmogaus įvesties - n, tad, galutinai, tavo sprendimas yra mažiausiai korektiškas iš visų pateiktų.

Nuoroda į komentarą
Dalintis per kitą puslapį

Paskaityk ka parašiau - nuskaityt iš failo, nori dar kitaip, laisvai ta seka susirašyt gali. Daviau patį paprasčiausią pavyzdį kaip atlikt šią užduotį, nes čia šitas uždavinys išvis nereikalauja nei if'ų nei nieko. Taip kad prisikabint prie to nereikia :) 10 klasėj niekas nei masyvu nei nieko nesimoko. Realiausiai šitoj sąlygoj duotas duomenų failas, tai realiai cin'ą pakeitus į failą viskas taip ir gautūsi be jokio didelio kosmoso. @deestem Komentarus rašau su šauktuku, kadangi man aiškiau matosi komentaras, nereikia žlibint į pilką spalvą.

Nuoroda į komentarą
Dalintis per kitą puslapį

prieš 21 valandas(-ų), don't be so cynical parašė:

Fair point, bet, nors man, tas sukonkretinimas (tarkim, obuoliai ar kriaušės krepšy, ar dar kas nors) nepadėjo. Vis tiek galiausiai priklauso nuo žmogaus.

Nepastebėjau klausimo - my bad. Sąryšių ieškojau vien todėl, kad būtų galima kažkaip matematiškai išreikšti ir nereiktų tiek daug if sąlygų, bet kažkaip nebesigilinau daugiau, tai nieko neradau.

Kiek viso laiko programoje/žaidime/puslapyje praleido pirmieji dešimt vartotojų. Dabar tikro pasaulio pvz. Įsivaizduok, kad nėra mysql. Obuolių pavyzdys buvo kvailas true...

prieš 20 valandas(-ų), Troba parašė:

realiai ka jus cia rodot desimtokui tai yra way too hard. Tikrai jie tokiu dalyku nesimoko jie - paprasciausia programa kaip issprest jeigu nesimoke nei masyvu, nei nuskaitymu/printinimu i faila. Jeigu mokesi is/i faila, perdarys savaip.

 

#include <iostream>

using namespace std;

int main()
{
    int n;
    int suma = 0;
    cin >> n; //! parasai kiek bus skaiciu
    for(int i = 0; i < n; i++) //! for ciklas
    {
        int sk; //! susikuri skaiciaus kintamaji
        cout << "skaicius : ";
        cin >> sk; //! parasai skaiciu
        suma = suma + sk; //! Paprasciausias sumos algoritmas
    }
    cout << suma; //! atspausdina suma
    return 0;
}

 

tu cia isvis kosmosa visiska padarei :D tokiu uzdaviniu niekas taip nesprendzia

Jo, gali naudoti įvedimą, bet kiek supratau skaičiai jau nurodyti todėl įvedimas makes no sense. O ar mokytoja specifiškai pasakė, kad numerius įrašysi ranka ( ko nėra uždavinyje ) aš ir tu nežinom. Kaip ir sakiau, jei perdarysi ir nemokėsi paaiškinti gausi 2, jei nepadarysi pilnai gausi 6-4 ir dar gali pasiginčyti, kad užduotyje tai pasakyta nebuvo.

 

Buvo ir man toks variantas kai reikėjo įvesti ranka, bet uždavinyje to parašyta nebuvo, vis tiek gavau 10, nes žinojo, kad moku.

Esu ir klaidų pas mokytojus vertinimuose radęs, reikėjo gerokai pasiginčyti ir matematikas parodyti lentoje, tam kad įrodyčiau, kad jų variantas neteisingas.

Redaguota , nario Expert*
  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

  • d0Se užrakino šią temą

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1896 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ą...