Autor Beitrag
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Mo 22.12.08 14:56 
mmhz ich habe StarUML dafür missbraucht und dasals "Aktivitätendiagramm" geschrieben, also die Units als nodes und die Referenzen als edges... und dann solange die gelöscht, wo keine hinführen oder keine Wegführen, bis halt das Übrigblieb!!!
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Di 23.12.08 10:27 
Zitat:
Diese Frage hast Du richtig beantwortet.

Juhu, trotzdem nix gewonnen. :(

Ich hab's so gemacht, dass ich die Liste rekursiv durchgegangen bin. Die, die ich schon geprüft habe, habe ich mir gemerkt und beim wiederholten auftreten nicht beachtet.
Wenn innerhalb der Rekursion dann das Ursprüngliche aufgetreten ist, war klar, dass es eine Schleife ist.
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Di 23.12.08 12:16 
So habe ichs auch gemacht, nur irgendwie vergisst er die Hälfte... und bisher ka wieso :?!?:

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
<?php

$inp = array(
  "A"=>"R,C,H,E,R",
  "B"=>"L,A,K,E",
  "C"=>"Y,L,O,N,S",
  "D"=>"A,L,E,K",
  "F"=>"A,R,G,O",
  "G"=>"K,A,R",
  "H"=>"U,G,O",
  "J"=>"A,N,E,W,Y",
  "K"=>"I,R,K",
  "L"=>"U,K,E",
  "M"=>"C,K,A,Y",
  "N"=>"O,G",
  "O"=>"B,I,V,A,N",
  "P"=>"I,C,A,R,D",
  "Q"=>"U,A,R,K",
  "S"=>"Y,L,A,R",
  "T"=>"E,A,L,C",
  "U"=>"H,U,R,A",
  "W"=>"H,O",
  "X"=>"E,N,A",
  "Y"=>"A,R",
  "Z"=>"A,P,H,O,D"
);

function TestCircle($start, $stop)
{
  global $inp;
  if (!array_key_exists($start, $inp))
  {
    return false;
  }
  foreach ($inp[$start] as $val)
  {
    if (in_array($val, $stop))
    {
      if ($val == $stop[0])
      {
        echo $val.",";
      }
      return true;
    }
    $new = $stop;
    $new[] = $val;
    if (TestCircle($val, $new)) return true;
  }
  return false;
}

foreach ($inp as $key => $val)
{
  $inp[$key] = split(",", $val);
}

foreach ($inp as $key => $val)
{
  TestCircle($key, array($key));
}
?>
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 23.12.08 12:51 
Hallo,

jetzt hab ich das dritte Rätsel richtig gelöst, aber immer noch nichts gewonnen. Langsam glaub ich, da ist was faul :evil:

Jetzt, wo ich so eure Progrämmchen sehe, glaube ich ernsthaft, ich hab was falsch gemacht. Meine Lösung ist zwar richtig, aber ich mein Zirkuswichtel erstellt ein Log mit 23784 Zeilen, die ausschließlich mit "Crawl for" und "Found" beginnen. Er findet jeden Buchstabe im Durchschnitt 1254 mal :shock:

Wenn ihr einen eher langsamen Rechner habt, würde ich empfehlen, das Log erstmal zu deaktivieren, da das direkt in die ListBox schreibt und daher nicht besonders performant ist. Ohne Log schafft er es bei mir aber in ca. 7 Millisekunden.
Einloggen, um Attachments anzusehen!
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: So 04.01.09 15:05 
user profile iconAdrianK hat folgendes geschrieben Zum zitierten Posting springen:
@Edit: Bin ich denn der einzige der's mit C# gemacht hat?


Nein, ich auch ;)

Anbei mein Lösungsprogramm, es gibt alle Zirkulärewn Referenzen im Memo aus - das macht das ganze aber bei sehr vielen Units etwas langsam ...
Einloggen, um Attachments anzusehen!