Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Program na vypocet matematickych uloh ze srovnanim vysledku

Krasny den preji vsem.
Predem dekuji za jakoukoli radu.
Potrebuji prosim pomoct s jednim programkem. Nebo spise zdali takovy vlastne je. Mam ruzne dva priklady ktere je potreba vypocitat a najit stejny vysledek. Prvni pozice cisel se ale vzdy meni. Priklad: kombinace cisel 2 3 6 5 4 *65 2,3,6,5,4 jsou cisla kterym by mel program menit pozice. Ale i cisla treba po dvou tedy pr. 45 54 76 67 *3 Snad se vyjdruji zpravne.
Budu moc rada za kazdou radu.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
K čemu to má sloužit? Ten program máš najít, nebo sama vytvořit?
Wikan 15.08.2015 10:00
Wikan
Vytvorit bych to urcite nedala. :-))))
Katkaa 15.08.2015 13:51
Katkaa
A k čemu to má teda sloužit? Pokud to má nějaký hlubší smysl, tak to už možná někdo udělal. Ale bez… nový
Wikan 15.08.2015 13:55
Wikan
Poradil bych, ale absolutně jsem nepochopil zadání. Škoda. nový
Pavel 15.08.2015 13:54
Pavel
Také nechápu co má ten program dělat, zkus to lépe popsat/ukázat nějaký příklad. Třeba je to práce… nový
MašinkaTomáš 15.08.2015 13:56
MašinkaTomáš
Ako je myslene to nasobenie 65-mi a v druhom priklade 3-mi? To ma byt nasobene len to posledne cislo… nový
robert13 15.08.2015 14:28
robert13
Dobre trosku to priblizim. Mam priklad. Treba 33 99 63 56 *98/6 Podotikam ze se nesmi zmenit hodnota… nový
Katkaa 15.08.2015 14:38
Katkaa
Je to trosku chaoz, omlouvam se. Zatim by mi stacilo to co jsem ted psala. neco co mi vypocita prikl… nový
Katkaa 15.08.2015 14:43
Katkaa
Takže... Pokud do programu zadáš například 3 čísla číslo A, B, C tak ti program má vyplivnout A+B+C… nový
MašinkaTomáš 15.08.2015 14:43
MašinkaTomáš
Chci zadat treba cislo abc *n/m a ono mi to vypocita vysledky vsech moznych variaci. Tedy abc*n/m ac… nový
Katkaa 15.08.2015 14:54
Katkaa
Akurát, že si ešte nenapísala, koľko tých dvojčísel má byť, lebo píšeš o 6, potom o 10... Nie je to… nový
robert13 15.08.2015 15:08
robert13
Ne neni to dane, muze jich byt i deset ale i jen tri. Ale na tri bych nepotrebovala program. :-) nový
Katkaa 15.08.2015 15:19
Katkaa
uff, chcel som výpis permutácií cez excel ale nejde mi to, sorry nový
robert13 15.08.2015 16:03
robert13
pre robert13: skús toto (zdroj: http://www.mrexcel.com/forum/excel-questions/46997 9-permutation-exc… nový
mzmz 18.08.2015 09:10
mzmz
Takovej program neznám, excel by to měl umět, ale ten neumím zas já, až budu mít čas, zkusím ti něco… nový
MašinkaTomáš 16.08.2015 11:03
MašinkaTomáš
Pockam i dva. :-) Jsem vdecna za jakoukoli pomoc. Dekuji nový
Katkaa 17.08.2015 08:41
Katkaa
Skúšal som ten VBA kód, ktorý som sem už skôr vložil v Exceli 2010. Permutáciu 7 čísiel excel ešte z… nový
mzmz 20.08.2015 08:48
mzmz
Urcite ano!! nový
Katkaa 20.08.2015 14:32
Katkaa
vložiť VBA kód do Excelu: klávesová zkratka Alt+F11 --> v menu VBA: Insert --> Module --> do prázdné… nový
mzmz 20.08.2015 14:55
mzmz
Priklad: pre hodnoty aa, bb, cc urobí tento kód toto: aa bb cc aa bb aa cc bb aa bb cc cc aa cc bb… nový
mzmz 20.08.2015 15:04
mzmz
do stĺpca A vložiť pod seba čísla, ktoré chceš zamienať a potom spustiť makro (klávesovou skratkou A… nový
mzmz 20.08.2015 14:57
mzmz
Vyzkousela jsem, je to super. Ale ma to chibicku. Kdyz zadam napr cisla 1,1,2,3 vyhodi mi to kombina… nový
Katkaa 23.08.2015 08:15
Katkaa
mzmz díky, prelúskam si to dodatočne, to volanie s viacerými argumentami a ich využitie je pre mňa z… poslední
robert13 23.08.2015 09:26
robert13

Ako je myslene to nasobenie 65-mi a v druhom priklade 3-mi?
To ma byt nasobene len to posledne cislo? A co tie ostatne? To 2, 3, 6, 5, 4 su cifry 5 ciferneho cisla alebo co? Asi nie, lebo nizsie pises o dvojcifernych cislach... Chaos...
A porovnavat chces co s cim, ked chces najst rovnaky vysledok... Coho? Medzi cim a cim?
Pocet cifier je premenlivy alebo staly? Hodnoty su vzdy tie iste, len v inom poradi, alebo ako???
Chapes, ze popis je naprosto nedostatocny a nezrozumitelny?

Dobre trosku to priblizim. Mam priklad. Treba 33 99 63 56 *98/6 Podotikam ze se nesmi zmenit hodnota dvojcisla jen umisteni. tedy 33996456*98/6 nebo 33995664*98/9 atd
Jde o to ze tech kombinaci pri sesti dvojcisel je 720 a treba deseti cisel nespocetne,a vse pocitat rucne bych delala vecnost. Chci jen jednoduchy program do ktereho zadam moznou kombinaci cisel matematicky ukon a vyjedou mi vsechny vysledky. Snad uz jsem trochu priblizila.

Chci zadat treba cislo abc *n/m a ono mi to vypocita vysledky vsech moznych variaci. Tedy abc*n/m acb*n/m cba*n/m cab*n/m bca*n/m bac*n/m
Cisla ktera jsem uvedla jsou jen priklad. Jedin co musi jit ze variace cisel jsou po dvou. Tedy napr, a=52 b= 65 c=56 tedy 526556*n/m atd
Jak jinak vysvetlit uz nevim. :-(

pre robert13: skús toto (zdroj: http://www.mrexcel.com/forum/excel-questions/46997 9-permutation-excel.html):

Sub Perm()
Dim rSets As Range, rOut As Range
Dim vArr As Variant, lrow As Long

Set rSets = Range("A1").CurrentRegion
ReDim vArr(1 To rSets.Columns.Count)
Set rOut = Cells(1, rSets.Columns.Count + 2)
Perm1 rSets, vArr, rOut, 1, lrow
End Sub

Sub Perm1(rSets As Range, ByVal vArr As Variant, rOut As Range, ByVal lSetN As Long, lrow As Long)
Dim j As Long

For j = 1 To rSets.Rows.Count
If rSets(j, lSetN) = "" Then Exit Sub
vArr(lSetN) = rSets(j, lSetN)
If lSetN = rSets.Columns.Count Then
lrow = lrow + 1
rOut(lrow).Resize(1, rSets.Columns.Count).Value = vArr
Else
Perm1 rSets, vArr, rOut, lSetN + 1, lrow
End If
Next j
End Sub

vložiť VBA kód do Excelu:
klávesová zkratka Alt+F11 --> v menu VBA: Insert --> Module --> do prázdného okna vpravo kopírujte nasledujúci kód:

Option Explicit

' PGC Jan 2014
' Calculates all possible permutations without repetition of a set
' Set in A1, down. Result in C1, down and accross. Clears C:Z.
Sub PermutationsWRAll()
Dim vElements As Variant, vresult As Variant
Dim lRow As Long, i As Long

vElements = Application.Transpose(Range("A1", Range("A1").End(xlDown)))
Columns("C:Z").Clear

lRow = 1
For i = 1 To UBound(vElements)
ReDim vresult(1 To i)
Call PermutationsWR(vElements, i, vresult, lRow, 1, 1)
Next i
End Sub

Sub PermutationsWR(vElements As Variant, p As Long, vresult As Variant, lRow As Long, iElement As Integer, iIndex As Integer)
Dim i As Long, j As Long
Dim b As Boolean

For i = 1 To UBound(vElements)
b = True
For j = 1 To iIndex - 1
If vresult(j) = vElements(i) Then
b = False
Exit For
End If
Next j
If b Then
vresult(iIndex) = vElements(i)
If iIndex = p Then
lRow = lRow + 1
Range("C" & lRow).Resize(, p) = vresult
Else
Call PermutationsWR(vElements, p, vresult, lRow, i + 1, iIndex + 1)
End If
End If
Next i
End Sub

Priklad: pre hodnoty aa, bb, cc urobí tento kód toto:

aa
bb
cc
aa bb
aa cc
bb aa
bb cc
cc aa
cc bb
aa bb cc
aa cc bb
bb aa cc
bb cc aa
cc aa bb
cc bb aa

Takže bude potrebné najprv vymazať tie riadky, ktoré neobsahujú kompletne všetky hodnoty. Potom v ďalšom stĺpci môžeš hodnoty spojiť funkciou =CONCATENATE(C11;D11;E11) - kde C11, D11, E11 sú bunky, ktoré chceš spojiť.

mzmz díky, prelúskam si to dodatočne, to volanie s viacerými argumentami a ich využitie je pre mňa zatiaľ neznámou...

Katkaa, keďže neviem upraviť priložené makro, použil by som trik:

namiesto niektorého z opakujúcich sa čísel by som použil iné, napr namiesto 1,1,2,3 by som jednu z jedničiek nahradil napr 9, takže by sa vyrobili variácie vytvorené z číslic 1,9,2,3.
Potom by som označil všetky naplnené stĺpce a dal nahradiť 9-u 1-ou. Musíš si však uvedomiť, že Ti tam vzniknú duplicity ALE excel duplicity odstrániť VIE. Takže najprv z vytvorených variácií, kde už máš nahradené všetky 9-y 1-ami vyhodíš všetky neúplné, do nového stĺpca dáš funkciu concatenate a odstrániš duplicity v stĺpci funkcie concatenate. Potom aplikuješ funkciu, ktorej výsledok potrebuješ zistiť, aby si porovnala s výsledkami iného rozpisu.

Ak budeš mať viac opakujúcich sa čísel (číslic), je treba ich zas na začiatku rozlíšiť, teda napr namiesto 1,1,2,3,1 nahraď trebárs za: 1x,1y,2,3,1z
potom v rozpisoch nahradíš všetky 1x za 1, 1y za 1 a 1z za 1 a podobne pri iných opakujúcich sa vstupných hodnotách...

Zpět do poradny Odpovědět na původní otázku Nahoru