AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Hilfe en algorithmus zu entwickeln...
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe en algorithmus zu entwickeln...

Ein Thema von Thunderbolt · begonnen am 20. Jan 2005 · letzter Beitrag vom 1. Feb 2005
 
Benutzerbild von Thunderbolt
Thunderbolt

Registriert seit: 29. Feb 2004
26 Beiträge
 
#1

Hilfe en algorithmus zu entwickeln...

  Alt 20. Jan 2005, 14:37
Aaaaaaaalso. Die Aufgabe hab ich in der Schule bekommen. Es ging eigentlich darum die Summen von allen Zahlen miteinander in einer Menge (also jeweils nur 2 Zahlen).

Das ganze hab ich so gelöst:

Delphi-Quellcode:
[code:1:06509b420c]program algorithmus;
{$APPTYPE CONSOLE}
uses SysUtils;

type
  menge = set of byte;

var
  neu, alt, zwischen :menge;
  eingabe,i,obergrenze :integer;
  eingaben: array [1..10] of integer;

procedure dazutun(wert :integer);
begin
  for i:=1 to obergrenze do
    begin
      if i in alt then zwischen:=zwischen+[i+wert];
    end;
  alt:=alt+[wert];
  zwischen:=zwischen+[wert];
end;

procedure ausgabe(ausgeben :menge);
var limit,erstes :integer;
begin
  erstes:=0; limit:=0;
  neu:=ausgeben;
  repeat
    if erstes in ausgeben then
      begin
        limit:=limit + erstes;
        neu:=neu-[erstes];
      end;
    inc(erstes);
  until neu=[];

  write('Mögliche Ergebnisse sind: ');
  for i:=0 to limit do if i in ausgeben then write(i:3,',');

end;

begin
  write('Blubb bla bla blub bla blubb blubb.');
  neu:=[]; alt:=[]; zwischen:=[]; eingabe:=0;
  write('Obergrenze: ');
  readln(obergrenze);
  repeat
    write('Wert: ');
    readln(eingabe);
    if not ((eingabe=0) or (eingabe in alt) or (eingabe>obergrenze)) then
      begin
        dazutun(eingabe);
      end
      else if eingabe>obergrenze then writeln('Obergrenze überschritten!');
  until eingabe=0;
  ausgabe(zwischen);
  readln;
end.[/code:1:06509b420c]
ich weiss... man könnte ein paar sachen weglassen...

Jetzt würde mich mal interessieren wie man dasselbe mit ALLEN Kombinationen untereinander macht. Ich hab schon rumüberlegt, weiss aber nit wie man das anstellen soll.
Wenn ich da also die Zahlenmenge [1,2,4,8,16,32] habe, müsste mir das Ding jetzt alle Zahlen von 1 bis 69 auflisten.

mfg,
ThunderbolT
Ich habe in der Vergangenheit gute Entscheidungen getroffen. Ich habe in der Zukunft gute Entscheidungen getroffen.
George W. Bush
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz