Pereiti prie turinio

Rekomenduojami pranešimai

sveiki. taigi man reikia parasyti pograma kuri is skaiciau sukeistu du skaicius jame. pvz skaicius 2569. man reikia kad isspausdinu 5296 5269 5962 5926 5629 5692 2569 2596 2659 2695 2965 2956 6529 6592 6952 6925 6295 6259 9256 9265 9625 9652 9526 9562. pirmiausia reikia issiskaidyt skaiciu kaip suprantu. viska ok su sita dalim. o kaip poto sudaryt tuos visus variantus? gal yra kazkokia speciali fukcija ar kazkas panasaus?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pirmas nuo i:=1 to n. Jame iškart antras ciklas nuo o:=i to n. Antram cikle išvedimas sukeitus m ir m[o] narius vietomis.

taip pat daryčiau, bet gal naudočiau char'ų masyvą,

 

o šiaip pasidaryti funkciją keisti(i,o), kuriuoje if'ą įmesti, kad jeigu skaičiai vienodi nieko nedarytu

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na, išvedimui pačiam galima dar ir trečią ciklą įdėt. Ciklas nuo p:=1 iki n. Cikle du if'ai vienas kitame. Abu jie tikrina ar neprieitas sukeičiamas skaičius (i arba o, kiekvienam po atskirą ciklą). Jei prieinamas keičiamas skaičius (pvz. i) vietoj jo išvedamas kitas skaičius, su kuriuo keičiama (šiuo atveju o) ir atvirkščiai. Abiejų if'ų else paprasčiausiai išveda m[p]. Išvedinėjama po vieną skaitmenį.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

taip pat daryčiau, bet gal naudočiau char'ų masyvą,

 

o šiaip pasidaryti funkciją keisti(i,o), kuriuoje if'ą įmesti, kad jeigu skaičiai vienodi nieko nedarytu

 

A koks skirtumas charu ar intu, vis tiek duomenys taip pat saugomi (jei apie 8bit inta kalbam)... :-)

Redagavo facis1
Nuoroda į pranešimą
Dalintis kituose puslapiuose

jeigu skaičiai bet kokio ilgio, tai man atrodo be rekursijos čia nepavyks apsieiti, jeigu tik su keturženkliais, tai nieko sudėtingo nėra. Nes norint perrinkti visus variantus su dviem ciklais tikrai nepavyks ;) Rekursija - tai kai funkcija iškviečia save.

 

rekursijos pvz, skaičiuojant faktorialą:

 

function fact (int n) {
    if (n == 1) {
        return n;
    }
    else {
        return n * factorial(n - 1);
    }
}

Redagavo driule
Nuoroda į pranešimą
Dalintis kituose puslapiuose

A koks skirtumas charu ar intu, vis tiek duomenys taip pat saugomi (jei apie 8bit inta kalbam)... :-)

string'ą/int'ą reikėtų skaidyti skaitmėnimis, o charų masyvui priskirus string'ą prieš tai sužinojus string'o ilgį lengvai galima juo naudotis ir nereikia sukti bereikalingų ciklų ;)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

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