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

C++ namų darbai


FeelYourHeartHD

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

17 minutes prieš, Tautedaurofanas parašė:

Kam eini i tas C++ pamokas jei nemoki paprasciausio dalyko padaryti dapiso pusprociai kurie visiskai nieko nemoka sedi informatikos pamokuose ir galvoja kad bus algortimu ekspertai kurie """freelancins""" uz 100000 Eur per metus

Aš nežadu būt programuotojas. Pasiemiau tik dėl egzo. O dirbt žadu su 3D ten jau nepasiginčysi su manimi

Nuoroda į komentarą
Dalintis per kitą puslapį

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

Kam eini i tas C++ pamokas jei nemoki paprasciausio dalyko padaryti dapiso pusprociai kurie visiskai nieko nemoka sedi informatikos pamokuose ir galvoja kad bus algortimu ekspertai kurie """freelancins""" uz 100000 Eur per metus

Nusiramink pixeli žmogus paklausė "Namų darbai" diskusijų kanale tai nėra dėl ko pykt.

Nuoroda į komentarą
Dalintis per kitą puslapį

prieš 1 valandą, MeFeX parašė:

Kelios pastabos:

  • int numbers[10], sum = 0;
    Nėra kintamųjų deklaracija (declaration), o greičiau apibrėžimas (definition), nes yra priskiriamos reikšmės ir nėra nurodyta, kad jie būtų extern;
  • Vietoj i++, n++, etc. cikluose, naudok ++i, ++n, kadangi postfix operatorius (i++) sukuria laikiną, ten išsaugo originalią reikšmę, prideda vienetą prie tikrojo kintamojo ir grąžina laikiną, kai prefix operatorius (++i) tiesiog prideda vienetą prie originalaus kintamojo ir jį grąžina;
  • Nenaudok <=, >=, kadangi didžioji dalis C++ template-tipų (t.y., kurie (dažniausiai) dirba su iteratoriais) nepalaiko šio operatoriaus; šiuo atveju geriau rašyti != 10);
  • Suradęs tinkamą reikšmę išeik iš ciklo, kadangi tu jį vis tęsi, nors atsakymą jau gavai. Tam gali panaudoti jump statement break, kuris kontrolę grąžina į sekantį statement, arba x priskirti maksimalią (arba didesnę) reikšmę.

Paprastesnis sprendimas, kuris reikalauja mažiau ciklų:

#include <iostream>
#include <fstream>

int main() {
    int sum = 0;

    std::ifstream input( "input.txt" );

    for ( int i = 0, k; 10 != i; ++i ) {
        sum += ( input >> k, k );
    }

    input.close();

    std::cout << sum / 2 << std::endl;

    return 0;
}

 

Redaguota , nario hugegoofus
  • Teigiamai 3
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 3 savaičių...
2018-12-10 17:44, don't be so cynical parašė:

Kelios pastabos:

  • Vietoj i++, n++, etc. cikluose, naudok ++i, ++n, kadangi postfix operatorius (i++) sukuria laikiną, ten išsaugo originalią reikšmę, prideda vienetą prie tikrojo kintamojo ir grąžina laikiną, kai prefix operatorius (++i) tiesiog prideda vienetą prie originalaus kintamojo ir jį grąžina;
  • Nenaudok <=, >=, kadangi didžioji dalis C++ template-tipų (t.y., kurie (dažniausiai) dirba su iteratoriais) nepalaiko šio operatoriaus; šiuo atveju geriau rašyti != 10);

 

 Iš esmės nebus jokio skirtumo tarp ++i ir i++. Dauguma klaidingai mano kad i++ lėtesnis, na iš esmės "būtų" bet dėl kompilerio optimizacijų nėra.
Skirtumas tarp jų tik tas kad ++i prideda reikšmę ir ją gražina, o i++ prideda reikšmę bet gražiną senąją iš laikinojo kintamojo. Taip kad nematau
skirtumo kurį naudot for ciklui tai neturi įtakos išvis. Aš naudoju ++i bet vien dėl to kad taip įpratęs rašyt.

Dėl <=, >= irgi naudokit į sveikata tik turėkit omenyje kad su std containerių įteratoriais tai neveiks.
Šiuo atvejų kaip tik siūlyčiau naudoti <= tai aiškiau apibrėžia sąlyga.

Nuoroda į komentarą
Dalintis per kitą puslapį

  • d0Se užrakino šią temą

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