Vsetky kombinacie prvkov v poli pri neznamom pocte prvkov... – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vsetky kombinacie prvkov v poli pri neznamom pocte prvkov... – C / C++ – Fórum – Programujte.comVsetky kombinacie prvkov v poli pri neznamom pocte prvkov... – C / C++ – Fórum – Programujte.com

 

vreckovka
~ Anonymní uživatel
12 příspěvků
15. 3. 2012   #1
-
0
-

Dobry den. Potreboval by som urobit program, ktory mi z pola prejde vsetky kombinacie kazde s kazdym. Problem je v tom, ze neviem kolko tych moznosti bude. Pre tri moznosti by to mohlo vyzerat takto:

int a[]={1,2,3};

a vypis:

1,2,3

1,3,2

2,1,3

2,3,1

3,1,2

3,2,1 

Ale tych prvkov v poli moze byt aj napriklad 500. To sa urci pocas behu programu. Ja som to raz robil cez for. som tam mal asi 6 cyklov v sebe a fungovalo to. Ale to som vtedy vedel pocet prvkov. Teraz ich neviem dopredu. Neviete mi poradit akym sposobom by som mohol urobit vsetky kombinacie prvkov v poli pri neznamom pocet prvkov?

Nahlásit jako SPAM
IP: 88.212.40.–
devilfish0
Stálý člen
15. 3. 2012   #2
-
0
-

Jak ze nevies pocet prvkov. Tie prvky budes musiet z niecoho nacitat takze budes vediet kolko ich je.

Nahlásit jako SPAM
IP: 188.121.172.–
vreckovka
~ Anonymní uživatel
12 příspěvků
15. 3. 2012   #3
-
0
-

Myslel som to tak, ze nebudem ich vediet pocas kompilacie. Samozrejme pocas behu programu budem vediet kolko ich je, ale moze ich byt hocikolko. 

Nahlásit jako SPAM
IP: 88.212.40.–
devilfish0
Stálý člen
15. 3. 2012   #4
-
0
-

No a kde je problem ze nevies pocet prvkov pocas kompilacie? Nechapem

EDIT: Ako tebe ide len o to ze nevies ake velke mas deklarovat pole? Ak ano tak proste pouzi std::vector a ten sa uz o vsetko postara za teba...

Nahlásit jako SPAM
IP: 188.121.172.–
vreckovka
~ Anonymní uživatel
12 příspěvků
15. 3. 2012   #5
-
0
-

Nie nejde mi o to. Ja by som si to aj kludne dynamicky alokoval, ale ide o to, ze ja prote neviem ake velke pole to bude, lebo to zada uzivatel urcitym sposobom. Moze mat velkost 5 alebo 1500. No a neviem ako mam spravit kombinaciu vsetkych prvkov v poli ked ich mam napr. 1500. 

Nahlásit jako SPAM
IP: 88.212.40.–
devilfish0
Stálý člen
15. 3. 2012   #6
-
0
-

Stale nechapem ako to ci mas fixny pocet prvkov alebo ten pocet zada uzivatel ovplivni tvoj algoritmus na zistenie vsetky permutacii.

Nahlásit jako SPAM
IP: 188.121.172.–
vreckovka
~ Anonymní uživatel
12 příspěvků
15. 3. 2012   #7
-
0
-

Mas pravdu. Nezalezi natom ;/ .. ja som si to proste niekedy spravil staticky pre urcity pocet prvkov.. ale teraz som nasiel na stranke http://www.cs.vsb.cz/sawa/spr/programy.html program ( permutace.cc ) pre hocijaky pocet prvkov. To by mohlo fungovat.. 

Nahlásit jako SPAM
IP: 88.212.40.–
devilfish0
Stálý člen
15. 3. 2012   #8
-
0
-

No sak to nie je take tazke

void permute(int i,int *vector,int N)
{
	if(i == N)
	{
		printField(vector,N);
		printf("\n");
		return;
	}
	for(int j=i;j<N;j++)
	{
		swap(&vector[i], &vector[j]); 
		permute(i+1,vector,N); 
        	swap(&vector[i], &vector[j]); 
	}
}
Nahlásit jako SPAM
IP: 188.121.172.–
vreckovka
~ Anonymní uživatel
12 příspěvků
15. 3. 2012   #9
-
0
-

no nieje :) .. Dakujem, tvoje riesenie vyzera dobre. 

Nahlásit jako SPAM
IP: 88.212.40.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 102 hostů

Podobná vlákna

Nalepenie prvkov... — založil Laik

Výmena prvkov — založil Berri

Zobrazenie prvkov z MySql — založil Anonymní uživatel

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý