Einzelnen Beitrag anzeigen

Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: Algorithmus zur Verfügbarkeitsberechnung

  Alt 7. Feb 2011, 22:24
Delphi-Quellcode:
function belegung(pcStunden: array[1..i] of Cardinal): array[1..j] of [0..i];
var
  aktPc: Cardinal;
  aktZeit: Cardinal;
begin
  // keine PCs zugeteilt
  for aktZeit := 1 to j do
    result[aktZeit] := 0;
  // nacheinander PCs durchgehen und Zeiten belegen
  aktZeit := 1;
  for aktPc := 1 to i do
  begin
    while pcStunden[aktPc] > 0 do
    begin
      if aktZeit > j then
        raise "Mehr PC-Stunden aus freie Zeiten";
      pcStunden[aktPc] := pcStunden[aktPc] - 1;
      result[aktZeit] := aktPc;
      aktZeit := aktZeit + 1;
    end;
  end;
  if aktZeit <= j then
    raise "Weniger PC-Stunden als freie Zeiten";
end;
Das Ergebnis sieht dann so aus:
Code:
   |H1|H2|H3|H4|H5|H6|H7|H8|H9
PC1| 1| 1| 1| 0| 0| 0| 0| 0| 0
PC2| 0| 0| 0| 1| 1| 1| 0| 0| 0
PC3| 0| 0| 0| 0| 0| 0| 1| 1| 0
PC4| 0| 0| 0| 0| 0| 0| 0| 0| 1
Wieso möchtest du dieses Ergebnis nicht (ich nehme mal an du willst es nicht so)?
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat