DMUG-Archiv 2019

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: [Dmug] Infirmis proceduralis

de.wikipedia.org/wiki/Ockhams_Rasiermesser:

l={{2, 4}, {8, 2}, {5, 8}, {7, 5}, {9, 7}, {1, 9}, {4, 1}}

cl[l_List] := {First[l], Reverse[Drop[l, 1]]}

In[3]:= cl[l]
Out[3]= {{2,4},{{4,1},{1,9},{9,7},{7,5},{5,8},{8,2}}}

Am So., 10. Nov. 2019 um 20:31 Uhr schrieb Peter Klamser <klamser@XXXXXXX.com
>:

> l={{2, 4}, {8, 2}, {5, 8}, {7, 5}, {9, 7}, {1, 9}, {4, 1}}
>
> cl[l_List] := {First[l], Reverse[Drop[l, 1]]}
>
> In[3]:= cl[l]
> Out[3]= {{2,4},{{4,1},{1,9},{9,7},{7,5},{5,8},{8,2}}}
>
> Am So., 10. Nov. 2019 um 10:20 Uhr schrieb Susanne & Udo Krause via demug <
> demug@XXXXXXX.ch>:
>
>> Sali zusammen,
>>
>> aus der Liste von Paaren edges
>>
>> In[28]:= edges
>>
>> Out[28]= {{2, 4}, {8, 2}, {5, 8}, {7, 5}, {9, 7}, {1, 9}, {4, 1}}
>>
>> In[43]:= chainIt[edges]
>>
>> Out[43]= {{2, 4}, {4, 1}, {1, 9}, {9, 7}, {7, 5}, {5, 8}, {8, 2}}
>>
>>
>> soll die verkettete List  l[[n-1, 2]] = l[[n,1]] werden, wie im Beispiel
>> zu sehen. Die Funktion chainIt[] ist prozedural
>>
>>
>> Clear[chainIt]
>> chainIt[l_List?ArrayQ] := l /; Length[l] == 1
>> chainIt[l_List?ArrayQ] := Block[{r = {l[[1]]}, l0 = Rest[l], x},
>>     If[Length[Complement @@ Transpose[l]] != 0,
>>      Print["Cannot chain these pairs: ", l];
>>      Return[$Failed]
>>      ];
>>     While[Length[l0] > 0,
>>      x = Select[l0, #[[1]] == Last[r][[2]] &];
>>      If[Length[x] > 1,
>>       Print["Second element ", Last[r][[2]], " not unique in first
>> entries. Bye."];
>>       Return[$Failed]
>>       ];
>>      r = Join[r, x];
>>      l0 = Complement[l0, x]
>>     ];
>>     r
>> ] /; Dimensions[l][[-1]] == 2 && Length[l] > 1
>>
>>
>> es sollte mit SortBy[] gehen, aber wie? Dieses Ergebnis ist
>> unverständlich:
>>
>>
>> In[60]:= Clear[fct]
>> fct[l1_List, l2_List] := If[l1[[2]] == l2[[1]], True, False]
>> SortBy[edges, # &, fct]
>>
>> Out[60]= {{2, 4}, {4, 1}, {1, 9}, {9, 7}, {8, 2}, {7, 5}, {5, 8}}
>>
>> {8,2} steht falsch drin ... es gehört an das Ende der Ergebnisliste.
>>
>>
>> Sieht jemand ein funktionales chainIt[] und mag es mitteilen?
>>
>>
>> grüsse
>>
>> Udo.
>>
>> _______________________________________________
>> DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
>> http://www.mathematica.ch/mailman/listinfo/demug
>> Archiv: http://www.mathematica.ch/archiv.html
>>
>
_______________________________________________
DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv: http://www.mathematica.ch/archiv.html

Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html