Pereiti prie turinio

kashiukas

Nariai
  • Pranešimai

    508
  • Užsiregistravo

  • Lankėsi

  • Laimėta dienų

    1
  • Atsiliepimai

    0%

Reputacijos išklotinė

  1. Patinka
    kashiukas gavo reakciją nuo facis1 Robotu programavimas su C   
    Verčiau padėti ant tavęs, o ne tau.
    "Nemoku programuot, parašykit už mane kodą, o aš apsimesiu, kad išmokau kažką".
     
    Pradėk mokytis programuoti, o ne maldauk kodo.
  2. Patinka
    kashiukas gavo reakciją nuo Privatus Poilsis Trakuose Ruby programavimas.   
    Šaunu. :) Tik uždaryk abu failus, kai jų nebenaudoji.
     
    File.open(..) { |f| doSomethingWithF } automatiškai uždarys failą, kai blokas baigs darbą. :)
  3. Patinka
    kashiukas gavo reakciją nuo Privatus Poilsis Trakuose Ruby programavimas.   
    Keletas pastebėjimų:
    Jeigu skliausteliai nebūtini, dar nereiškia, kad jų neverta dėti – bent jau metodų apibrėžimuose (def) naudok skliaustelius:
    def meth(arg)
    def meth2(arg1, arg2).
     
    Jeigu metodas neturi argumentų, () nerašyk. Kviesdamas metodus taip pat, geriau uždėk skliaustus – bent man, lengviau skaitosi, o ir chaininti metodus lengviau galėsi (nereikės prirašinėŧi skliaustų) – method1(arg1, arg2).method2(arg)
     
    Class variable yra evil dalykas. Tavo atveju – nieko tokio, bet jei įsiveltų paveldėjimas, tai gali turėti problemų. Naudok class instance variables: http://stackoverflow.com/questions/3802540/difference-between-class-variables-and-class-instance-variables
     
    Perskaityk kokį nors stiliaus gidą, keletą gali rasti čia: http://forum.vilniusrb.lt/index.php/15-kodo-tvarka-ir-geros-praktikos
     
     
    Gal galėtum brūkštelti savo bandytą kodą, kai metodas nematė instance variable'o? Mestelk į kokį pastebin, jei nesunku – mažiau scrollinti šitoje temoje reikės. :-)
     
     
    Red: šiek tiek pakrapščiau, tai lyg ir veikia: http://pastebin.com/yEayVSa7
    Dar keletas pastebėjimų: kodėl visi accountai su vienodu pinu? Ne geriau padaryti, kad konstruktorius priimtų pin'ą ir saugotų jį instance variable? Kodo daug keisti nereikėtų – gali iš pin metodo returninti @pin (nors, aš geriau kodą pakeisčiau).
     
     
    Taip pat, tavo duotame pavizdyje vietoje show_balance reikia kviesti display_balance. :-)
     
     
    Sėkmės.
  4. Patinka
    kashiukas gavo reakciją nuo Silke Sublime text 2,3 code history   
    Išmok gitą. Sublime yra teksto redaktorius, o ne IDE.
  5. Patinka
    kashiukas gavo reakciją nuo Silke Sublime text 2,3 code history   
    Išmok gitą. Sublime yra teksto redaktorius, o ne IDE.
  6. Patinka
    kashiukas gavo reakciją nuo Pattio C++ Reikalinga pagalba.   
    Pirmame reference naudoti neapsimoka, geriau passinti by value, nes ant 64bit sistemų ref yra 64bit, kai int yra 32. Taip pat, nebegali rašyti isPrime(15).
  7. Patinka
    kashiukas gavo reakciją nuo Silke Kėlimas laipsniu   
    Čia cpp? Daugelyje kalbų ^ reiškia XOR.
    Kelti laipsniu gali su pow(double x, double y), reikia includinti "cmath", gali tekti nurodyti -lm flagą kompiliatoriui (ant C reikia, nežinau kaip su C++).
     
    Laipsnio kėlimo funkcija dažniausiai būna pow (gali būti Math namespace), arba ** operatorius ( x ** y ).
  8. Patinka
    kashiukas gavo reakciją nuo Konkreciau Norėčiau išmokti kurti įvairias programėles, kur galėčiau apsišviesti?   
    O įsidiegus php nesuvažiuos wordpress? Qt nedependina ant kde. Jei turi skaipą, tai turi qt'ą, ko gero reikės tik kelių -dev libų ir IDE. :)
  9. Patinka
    kashiukas gavo reakciją nuo Konkreciau Norėčiau išmokti kurti įvairias programėles, kur galėčiau apsišviesti?   
    +1 Dėl Qt. Labai fainas cross platform frameworkas, turi bindingus aukštesnio lygio kalboms (ruby, python).
  10. Patinka
    kashiukas gavo reakciją nuo klemkas Darbo užduotis. Programuotojui c++   
    Kadangi matau tavo kodą ir klaidos pranešimus, tai galiu išburti kas negerai... :-)
    Taigi, duok kodą, klausk kodėl tas ar anas neveikia, o ne klausk „kaip parašyti visą programą“ (su mintim, kad kažkas nemokamai parašys?).
     
     
    Beje, man pačiam C pointerius (jie nuo C++ nesiskiria, tik vietoj malloc() funkcijos, naudoji operatorių new, vietoj free() – delete) išmokti padėjo, berods, šis PDF'as: pdos.csail.mit.edu/6.828/2012/readings/pointers.pdf . Pasiskaityk, gal kažkiek aiškiau pasidarys. :-)
  11. Patinka
    kashiukas gavo reakciją nuo Delgad0 Ką rinktis ir kas geriau? - HTML ar PHP?   
    Lygini automobilį su medžiu. Trumpai tariant: HTML yra skirta atvaizduoti puslapį naršyklėje, o PHP sukasi serveryje ir generuoja HTML'ą (gali generuoti JSON, XML ar dar bala žino ką). Jeigu nori dirbti web'e, tai be HTML, greičiausiai, neapsieisi. O štai PHP galima keisti kokia nors kita programavimo kalba: jau minėtos ruby, python, etc. Taip pat, server-side gali naudoti tą patį C++ ir leisti jį per CGI, bet tai nėra pats geriausias sprendimas.
  12. Patinka
    kashiukas gavo reakciją nuo Delgad0 Ką rinktis ir kas geriau? - HTML ar PHP?   
    Lygini automobilį su medžiu. Trumpai tariant: HTML yra skirta atvaizduoti puslapį naršyklėje, o PHP sukasi serveryje ir generuoja HTML'ą (gali generuoti JSON, XML ar dar bala žino ką). Jeigu nori dirbti web'e, tai be HTML, greičiausiai, neapsieisi. O štai PHP galima keisti kokia nors kita programavimo kalba: jau minėtos ruby, python, etc. Taip pat, server-side gali naudoti tą patį C++ ir leisti jį per CGI, bet tai nėra pats geriausias sprendimas.
  13. Patinka
    kashiukas sureagavo į Deviltry Programavimo kalbos pasirinkimas valstybiniam egzaminui.   
    LOL
     
    Pasakyk, kaip lengva pereiti nuo C++ sintaksės prie Haskell ar Erlang sintaksės... :D :D :D Mąstymą reikia pakeisti apie programavimą = "nesunkiai pereisi". Cool story bro.
     
    Ir išvis - dar po keliolikos metų patirties (it seems information sunks in slowly for you..) suprasi, kad sintaksės žinojimas nieko bendro neturi su programavimo kalbos žinojimu. Nori pasakyti, kad aš dabar žinau C#, Java, Scala, Haskell, Erlang, F#, Ruby, Python, Rust, Nimrod, Go, C, C++, nes žinau jų sintakses ir labai lengvai perėjau ant jų? Ne, deja nesu toks wonderchild... Yra krūvos kalbų gotcha's, kurias turi žinoti, jei programuoji ta kalba, ir juos per gerus porą metų tik pastebėsi ir suprasi.
     
    Antra - kalbos mokėjimas suponuoja, kad žinai ir populiariausius tos kalbos frameworkus. Good luck lengvai pereinant prie kitų frameworkų.
  14. Patinka
    kashiukas gavo reakciją nuo deividas707 Dinamine atmintis grafineje sasajoje C++   
    Nesu kodinęs vindovsui su cpp, todėl ką šiame kontekste tiksliai daro – nežinau.
    Šiaip šitas reikalas skaitomas taip: jei components != 0 (nelygu NULL), tada vykdomas kodas. components gali būti NULL tuo atveju, jeigu alokacija, dėl kažkokios priežasties, nepavyko.
  15. Patinka
    kashiukas gavo reakciją nuo deividas707 Dinamine atmintis grafineje sasajoje C++   
    Nesu kodinęs vindovsui su cpp, todėl ką šiame kontekste tiksliai daro – nežinau.
    Šiaip šitas reikalas skaitomas taip: jei components != 0 (nelygu NULL), tada vykdomas kodas. components gali būti NULL tuo atveju, jeigu alokacija, dėl kažkokios priežasties, nepavyko.
  16. Patinka
    kashiukas gavo reakciją nuo deividas707 Dinamine atmintis grafineje sasajoje C++   
    ~MyForm() (destuktorius) būtų puiki vieta tą padaryti, nebent kažkoks komponentas tampa „nebereikalingas“ anksčiau, tokiu atveju, trink tada, kada objekto nebereikia.
  17. Patinka
    kashiukas gavo reakciją nuo DevBlox c++ su grafika   
    http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization#C.2B.2B_example
  18. Patinka
    kashiukas gavo reakciją nuo MindeB FPS Uždavinys   
    Good one! :-)
  19. Patinka
    kashiukas gavo reakciją nuo forgy Pagalba su pascal   
    Jeigu masyvo ilgis yra 1, grąžini tą vienintelį elementą, jei masyvo ilgis > 1, grąžini einamąjį elementą, pridėtą prie funkcijos rezultato su vienu elementu mažesniu masyvu.
     
    Kadangi paskalio masyvai yra ######ing ######, tai nesugalvoju kito implementacijos būdo tik kaip naudoti papildomą kintamąjį, nurodantį einamąjį indeksą
     

    function AddArrayElements(arr: array of whatever, arraySize: Integer, currentIndex: Integer) // Greičiausiai, vietoj int vertėtų panaudoti long, nes paskalio int'as yra labai mažas if arraySize = currentIndex then AddArrayElements := arr[currentIndex] // Prielaida, kad masyvas indeksuojamas nuo 1 else AddArrayElements := arr[currentElement] + AddArrayElements(arr, arraySize, currentIndex + 1) end // Usage: myArray:= [3, 2, 1] // Čia pseudokodas, kuris sukuria 3 elementų masyvą sum := AddArrayElements(myArray, 3, 1) // sum = 6
     
    Na, o čia žmoniškesnė C versija, gal kas nors, geriau mokantis paskalį, sugebės nuportint ją:

    int arraySum(int *head, int size) // čia elementai bus numeruojami nuo 0 { if(size == 1) return *head; // arba return head[0] else return *head + arraySum(head + 1, size - 1); } // Usage: int myArray[] = {3, 2, 1}; int sum = arraySum(myArray, 3)
  20. Patinka
    kashiukas gavo reakciją nuo tiporimvis Virtual funkcija (C++)   
    vector<Animal *> animals(2); animals[0] = new Animal(); animals[1] = new Llama(); animals[0]->eat(); animals[1]->eat();
     
    Nežinau ar veikiantis kodas, bet principas toks: jei funkcija ne virtual, tai ant objekto bus kviečiama Animal::eat(), jei eat() yra virtual, tai bus kviečiama Llama::eat(). Tai vadinama dynamic binding.
     
    Dažna praktika yra daryti virtualius destruktorius.
  21. Patinka
    kashiukas gavo reakciją nuo Nolifer Pagalba su C   
    scanf nuskaito du dalykus: skaičių ir simbolį. scanf'as grąžina kiek elementų (gal kintamųjų labiau tiktų) jis nuskaitė. Jei grąžina 2 - valio, jam pavyko nuskaityti int'ą ir kažkokį simbolį.
     
    term != '\n' tikrina ar nuskaitytas simbolis yra newline. Šitą vietą galime vadinti klaida. Vartotojas negali įvesti „10 20 30“, turi būtinai vesti „10\n20\n30“.
    Jeigu vartotojas įves floatą (pvz., 10.0, 10.3, etc) tai testas nepraeis, nes %d sustos ties . ir term bus '.'.
     
    Ištaisymui:

    #include <ctype.h> if(scanf(%d%c", &num, &term) != 2 || !isspace(term)) failure() else success()
  22. Patinka
    kashiukas gavo reakciją nuo unrixas1 Didziausio ir maziausio k eilutes elemento suma (C)   
    Kai nuskaitai masyva, prisilygink min ir max reiksmes pirmam elementui ir tada loopink.
  23. Patinka
    kashiukas gavo reakciją nuo unrixas1 Didziausio ir maziausio k eilutes elemento suma (C)   
    Wtf, tu masyvus nuo 1 indeksuoji? C kalboje masyvai indeksuojami nuo 0, t.y. a[0] – pirmas elementas, a[1] – antras. Čia ne paskalis. :-)
  24. Patinka
    kashiukas gavo reakciją nuo TheLightning Didziausio ir maziausio k eilutes elemento suma (C)   
    Tavo kodas baisesnis, negu baisus: nera normalios identacijos, atidarantys curly brace ({) ir uzdarantys (}) ne savo eiluteje...
     

    for (i=1;i<=n;i++) { for(j=1;j<=m;j++) { printf("Iveskite %d eilutes %d-aji nari\n", i, j); scanf("%d", &mas[j]); } max=mas[0]; min=max[0]; for (j=0;j<=m;j++) { if (mas[j]<min) { min=mas[j]; printf("%d \n", mas[j]); printf("%d min\n", min); } }
  25. Patinka
    kashiukas gavo reakciją nuo TheLightning Didziausio ir maziausio k eilutes elemento suma (C)   
    Tavo kodas baisesnis, negu baisus: nera normalios identacijos, atidarantys curly brace ({) ir uzdarantys (}) ne savo eiluteje...
     

    for (i=1;i<=n;i++) { for(j=1;j<=m;j++) { printf("Iveskite %d eilutes %d-aji nari\n", i, j); scanf("%d", &mas[j]); } max=mas[0]; min=max[0]; for (j=0;j<=m;j++) { if (mas[j]<min) { min=mas[j]; printf("%d \n", mas[j]); printf("%d min\n", min); } }
×
×
  • Pasirinkite naujai kuriamo turinio tipą...