AW: Info: wofür gebraucht
17.10.2014 19:07:17
Michael
Hallo Joerschi,
Du hast mich was Nerven gekostet! Halb drei bis kurz vor sieben, das kannste nich bezahlen...
Also, folgende Lösungsvorschläge:
a) Du speicherst Dir die Seite aus Deinem ersten, nein, zweiten link ("zum") lokal ab, das ist nämlich nur JavaScript, und das funzt auch lokal; Du kannst ja alles an Text rauslöschen, was Du nicht immer wieder sehen willst. Die Einschränkung mit max. 10 bzw. 1000 steht in der Zeile 74 und sieht so aus:
if(anzeigen&&(f.ges.value
Man sollte meinen, daß das Skript auch läuft, wenn Du links 49 statt 10 einsetzt und rechts irgendwas anderes, Passendes.
b) Du schaust Dir mal diese Seite an: http://theory.cs.uvic.ca/amof/e_comb.html
Da sind die Grenzen "weiter draußen", zumindest bis n=20.
c) Du kompilierst das folgende PASCAL-Programm, z.B. bei http://www.onlinecompiler.net/pascal
und lädtst Dir die .exe runter und benennst sie auf einen "normalen" Dateinamen um, z.B. Kombi.exe
Das rufst dann in der DOS-Box auf mit Kombi k n, wobei Du k und n durch die gewünschten Werte ersetzt, also etwa so:
C:\Dein_Ordner>kombi 2 4
Dann erfolgt die Ausgabe am Bildschirm.
Mit
C:\Dein_Ordner>kombi 2 4 >Werte.txt
werden die Zahlen in Werte.txt geschrieben, die Du wiederum in Excel importieren kannst.
Also, hier das Programm:
Program Combinations;
(* Quelle: http://rosettacode.org/ _
wiki/Combinations#Pascal
*)
(*
const
m_max = 3;
n_max = 5;
*)
var
m_max, n_max,fehler:integer;
f:text;
var
combination: array [1..20] of integer;
(* Beschraenkung auf k max. 20 *)
procedure generate(m: integer);
var
n, i: integer;
begin
if (m > m_max) then
begin
for i := 1 to m_max do
write (f,combination[i]:4);
writeln(f);
end
else
for n := 1 to n_max do
if ((m = 1) or (n > combination[m-1])) then
begin
combination[m] := n;
generate(m + 1);
end;
end;
begin
assign(f,'');
rewrite(f);
Val(ParamStr(1), m_max, fehler); (* k *)
if (fehler0) or (m_max>20) then BEGIN writeln(f,'m_max passt nicht'); halt END;
Val(ParamStr(2), n_max, fehler); (* n *)
if (fehler0) or (n_max>50) then BEGIN writeln(f,'n_max passt nicht'); halt END;
generate(1);
close(f);
end.
Viel Spaß und schöne Grüße,
Michael