Pereiti prie turinio

Valdas3

Nariai
  • Pranešimai

    333
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    0%

Valdas3 Pranešimai

  1. Iš esmės taip, parašysiu kaip įsivaizduoju programėlę (o šiaip, kodėl tiesiog nepratestuoji to savo varianto?):

    string pavadinimai[128];
    boolean yraTarpas;
    for(int i = 0; i < 128; i++){
     yraTarpas = false;
     for (int j = 0; (j < pavadinimai[i].length()) && !yraTarpas; j++){
       if (pavadinimai[i][j] == ' '){
         yraTarpas = true;
       }
     }
     if (yraTarpas){
       //pavadinimo spausdinimas i faila
       yraTarpas = false;
     }
    }

    Taip pat rašiau iš galvos, gali būti klaidų.

  2. Tiesiog iteruok per tą miesto pavadinimą ir lygink einamąjį simbolį su tarpo simboliu, jei sąlyga tenkinama, tai spausdink pavadinimą į failą (darant prielaida, kad nėra pavadinimu kuriuose daugiau nei vienas žodis), baigi ciklą ir pradėk tą patį ciklą su kitu žodžiu.

  3. struct zmones{
     string vardas;
     string pavarde;
     struct asmens_duomenys{
       int asm_kodas;
       string gyv_vieta;
     }duom; //<-- look
    };
    

     

    Masyvą sukurtum taip: zmones zmogus[100];

    Duomenis keistum taip: zmogus[0].duom.gyv_vieta = "Pineapple under the sea";

    Tavo klaidą buvo ta, kad tu tiesiog apibrėžei naują struktūros tipą struktūroje, bet nedeklaravai jo kaip tos struktūros nario (turbūt negera terminologiją naudoju). Nors šiaip nežinia kokia iš vis buvo tavo problema, bet tikiuosi pataikiau. Manau, kad geriau būtų struktūras apibrėžti taip:

     

    struct asmens_duomenys{
     int asm_kodas;
     string gyv_vieta;
    };
    struct zmones{
     string vardas;
     string pavarde;
     asmens_duomenys duom;
    };
    

  4. Na paprasčiausias sprendimas būtų neįterpinėti nelyginių skaičių į masyvą... Gali saugoti kokiame kintamajame x paskutinio elemento indeksą. Tada norėdamas "ištrinti" i-tąjį elementą apkeistum A[x] ir A reikšmes ir x reikšmę sumažintum vienetu. Aišku taip sudarkysi tvarką, bet iš pradžių ji nėra svarbi. O jei norėtum ją išsaugoti, tai tada reikėtų perstumdinėti daugybe masyvo reikšmių, kas yra neefektyvų.

  5. Asmeniškai manau, kad tokie reitingai yra beveik beprasmiai. Na aišku, aukštosios mokyklos, kurios yra paskutinėse vietose, turbūt iš tikro yra prastos visais aspektais, bet manau, kad žymiai naudingiau būtų vertinti universitetų fakultetus arba dar geriau - panašias studijų programas įvairiuose universitetuose. Nors ir studijuoju VU, bet kažkodėl nemanau, kad jo visos studijų programos yra pačios geriausios, tiesiog tai neatrodo tikėtina.

  6. Moki surasti maksimalią reikšmę masyve? Tai čia tas pats, tik kad ieškai poros, kurios suma yra didžiausia. Suk ciklą ir kiekvienoje iteracijoje atlik veiksmus su i ir (i+1) elementu. Žiūrėk, kad neužeitum už masyvo ribų. Kaip nustatyti ar pora iš vis egzistuoja manau sugalvosi pats. Kaip dabar matau blogai perskaitei sąlygą. Yra tik viena lysvė(pirmas sakinys). Turbūt veltui rašiau šį paaiškinimą <_<

  7. 1) Ritinio spindulys lygus ritinio aukščiui, o ašinio pjūvio įstrižainė lygi 20cm.Raskite ritinio pagrindo spindulį.

     

    2) Kiek penkiaženklių skaičių, skaičiaus dvejeto kartotinių, galima sudaryti iš skaitmenų 0, 1, 2, 3 ir 5, kad skaitmenys skaičiuje nesikartotų?

    2.

    2.1 Paskutinis skaitmuo 0. Galimybių skaičius: 4*3*2*1 = 24

    2.2 Paskutinis skaitmuo 2. Galimybių skaičius: 3*3*2*1 = 18

    Ats.: The answer to life, the universe, and everything.

  8. = - sutaupai 4byte nekurdamas papildomo int. Turek tai omeny, good programming practice. :)

    Kažkodėl manau, jog tikėtina, kad kompiliatorius pats tinkamai suoptimizuotu. O ir šiaip code readability > keletas bitukų. O jei dar tokį tavo "good programming practice" paėmus giliai į širdį, tai tokių dalykų prirašyti, kad pats kitą dieną nesuprasi ką parašei.

  9. Nelabai patinka toks tikrinimas. Čia labiau tiktų funkcija, kuri gražina boolean reikšmę pasakančią ar skaičius lyginis. Man toks algoritmas priimtinesnis

     

    even := true;
    t := n;
    while(even and (t <> 0)) do begin
     digit := t mod 10;
     t := t div 10;
     if ((digit % 2) <> 0)) then even := false;
    end;
    return even; //atrodo paskalyje kitaip reikia rašyti, neprisimenu

    Paskalio sintaksės neprisimenu ir kodo netestavau.

  10. totalTime = (ATime < BTime) ? (BTime - ATime) : (TIME_IN_A_DAY - BTime + ATime);

    totalTime += (BTime < CTime) ? (CTime - BTime) : (TIME_IN_A_DAY - CTime + BTime);

     

    Turbūt veiks, tikrai netikrinau. Iš esmės tai tas pats kas buvo parašyta kitų. Galima į vieną eilutę viską sukišti bet tiek to.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...