Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sve kombinacije!!!

[es] :: C/C++ programiranje :: C/C++ za početnike :: Sve kombinacije!!!

[ Pregleda: 3133 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

negative7
Ivan Raic

Član broj: 186110
Poruke: 151
*.scst.hr.



Profil

icon Sve kombinacije!!!14.05.2010. u 19:58 - pre 169 meseci
Da li bi netko mogao napraviti program ako nije problem,a nije zurno koji radi ovo:

ispisuje na ekran sve moguce kombinacije od 3 znaka,recimo a,b,c: a,b,c,aa,ab,ac,bb,ba,bc,cc,ca,cb,aaa,aab,aac,aba,a bb,abc,.... itd

Znam da treba nesto prije uradit sam da bi bilo po pravilima foruma,ali stvarno ne znam kako,na prvi pogled mi izgleda da treba puno for petlji....(ima previse kombinacija)
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Sve kombinacije!!!14.05.2010. u 21:09 - pre 169 meseci
Takvih kombinacija ima beskonačno. Na primer, i abcabcabcabcabcabc je jedna takva kombinacija. Da nema neko ograničenje, recimo maksimalan broj slova? Druga stvar, jesi li siguran da kombinacije mogu da imaju i manje slova od tog maksimalnog broja? Pitam jer je jednostavnije ako sve kombinacije imaju isti broj slova.
 
Odgovor na temu

negative7
Ivan Raic

Član broj: 186110
Poruke: 151
*.scst.hr.



Profil

icon Re: Sve kombinacije!!!15.05.2010. u 10:59 - pre 169 meseci
Da moja greska,mislio sam na max 3 znaka,i da moze imat manje,ali ako je i to pretesko kako onda samo od 3 znaka sve kombinacije.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Sve kombinacije!!!15.05.2010. u 12:52 - pre 169 meseci
Pitanje je da li ovo treba da se rešava rekurzijom. Može i bez rekurzije, sa trostrukom for petljom, ali ako ti profesor kaže "dobro, a sad ispiši sve kombinacije sa maksimalno 20 znakova", to bi trebalo da bude 20-struka petlja, što nije baš lepo prizor. Recimo da ne mora rekurzija. I recimo za početak da treba da ispišeš sve kombinacije sa tačno 3 znaka, to jest aaa, aab, ..., ccc. Ako imaš trostruku petlju vrlo je prosto. Svaki od tri brojača je jedan znak, a ta tri znaka u nizu daju jednu kombinaciju. Zaglavlje svake od tri petlje bi recimo izgledala ovako: for (char i3 = 'a'; i3 <= 'c'; i3++). I analogno za unutrašnje i2 i i1. Telo petlje je onda prosto printf("%c%c%c\n", i3, i2, i1). Za dvoslovne i jednoslovne kombinacije treba samo da ubaciš dva printf-a na pravo mesto negde unutar ove tri petlje. Ali ispiši prvo samo troslovne kombinacije za početak.
 
Odgovor na temu

pgavrilo
Kulaši

Član broj: 146777
Poruke: 297
91.191.20.*

Sajt: www.yoyogames.com/games/s..


+1 Profil

icon Re: Sve kombinacije!!!15.05.2010. u 12:57 - pre 169 meseci
Code:

#include <iostream>
#include <algorithm>
using namespace std;
int main ()
{
  char s[] = "car";
  sort(s,s+3);
  do
    cout << s << " ";
  while (next_permutation(s,s+3));
}

Evo primer koda koji će ti dati sve moguće kombinacije sa 3 slova, a još malo koda mogo bi dobiti i sa 2 slova, pa ti malo razmisli. Funkcija sort je potrebna da postavi niz u rastući redosled da bi mogla funkcija next_permutation raditi da izbacuje sve kombinacije. Nadam se da može pomoći. Da ti ne uradim čitav zadatak.
Dođite na http://www.yoyogames.com/games/show/74141 i pogledajte moje igrice i isto tako ocjenite ;)
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Sve kombinacije!!!15.05.2010. u 13:35 - pre 169 meseci
Obično je uslov ovakvih zadataka da ne koristiš gotove funkcije. Ali treba pitati profesora :-)
 
Odgovor na temu

negative7
Ivan Raic

Član broj: 186110
Poruke: 151
*.scst.hr.



Profil

icon Re: Sve kombinacije!!!15.05.2010. u 15:33 - pre 169 meseci
ma nema nikakvog profesora jednostavno mi palo napamet,znaci sve se moze koristit.
 
Odgovor na temu

negative7
Ivan Raic

Član broj: 186110
Poruke: 151
*.scst.hr.



Profil

icon Re: Sve kombinacije!!!15.05.2010. u 15:43 - pre 169 meseci
Evo prema ovome sto Mihajlo kaze,ali stvar je u tome da uopce ne znam jesu li to sve moguce kad ne znam ni koliko ih moze bit razlicitih...i kako kod ucinit preglednijim sa rekurzijom..u biti kako vi razmisljate kako upotrijebit rekurziju,dobro evo kad se nesto ponavlja ali kako evo bas sad na ovom primjeru ili nekom drugom,nekako mi se rekurzija cini zapetljana..
Code:

#include <iostream>

using namespace std;
int main ()
{
  char i3,i2,i1;
  for(i3='a';i3<='c';i3++)
  {
      cout<<i3<<endl;
    for(i2='a';i2<='c';i2++)
    {
        cout<<i3<<i2<<endl;
        for(i1='a';i1<='c';i1++)
        {
            cout<<i3<<i2<<i1<<endl;
        }
    }
  }
}


[Ovu poruku je menjao negative7 dana 15.05.2010. u 17:00 GMT+1]
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Sve kombinacije!!!

[ Pregleda: 3133 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.