eMatematikas Prisijunk Forumas VBE užduotys ONLINE testai

C++, daliklių skaičius bei jų rikiavimas


Labas vakaras gal galit priminti kaip suieškoti daliklių kiekį ir kaip man juos įsiminti t.y. kiekvieno skaičiaus daliklių kiekį?
Uždavinys - 
Duomenų faile parašytas skaičius n, kuris reiškia žemiau surašytų sveikųjų skaičių kiekį. Kitoje eilutėje surašyti natūralieji skaičiai. Parašykite programą, kuri į rezultatų failą išvestų tuos skaičius didėjančiai pagal jų turimų daliklių skaičių.
Pvz.
Duomenų failas
5
2 12 6 24 59

Rezultatų failas
2 59 6 12 24

pakeista prieš 5 m

Apie struktūras žinai?

Kol kas dar ne :/

O masyvai?

Pažįstu, su dvimačiais kiek mažiau dirbęs.

pakeista prieš 5 m

Na čia be dvimačių apsieisim.
Šiaip skaičiaus sk daliklių kiekio radimas gali būti įgyvendinimas ciklu. Jo esmė tokia:
Su kiekviena ciklo i parametro reikšme patikrinami visi galimi dalikliai nuo 1 iki n imtinai.
Tikrinimas vyksta taip: jei sk dalijasi iš i be liekanos, tai yra i yra skaičiaus sk daliklis, tada daliklių skaičių saugantis kintamasis dal didinamas vienetu.

pakeista prieš 5 m

Užrašyk funkciją Dalikliai (int sk), kuri skaičiuotų skaičiaus sk daliklių skaičių, ir įkelk ją čia.

int dalikliai (int sk)
{
    int n, dal=0;
    cin >>n>>sk;
    for (int i=1; i<n; i++)
    {
        if (sk/i==0)
        {
            i=sk;
            dal++;
        }
    }
}

Kažkas panašaus?

Neteisingai.

pakeista prieš 5 m

Nereikalingas sakinys: cin >>n>>sk;
Turi būti taip: for (int i=1; i<=n; i++)
Ar dalijasi iš i tikriname taip:
if (sk%i==0)
Nereikalingas priskyrimas:
i=sk;
Pabaigoje trūksta
return dal;

pakeista prieš 5 m

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »