AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kleinster Wert in set

Ein Thema von Stevie · begonnen am 19. Aug 2004 · letzter Beitrag vom 26. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Kleinster Wert in set

  Alt 19. Aug 2004, 13:00
Hi Leute,

ich hab folgendes:
var Indizes: set of 1..20; Ich möchte gerne den kleinsten Wert herausfinden, der in der Menge ist. Irgendwie hab ich nix dazu gefunden?!
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Shaman
Shaman

Registriert seit: 2. Nov 2003
Ort: Schweiz
407 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Kleinster Wert in set

  Alt 19. Aug 2004, 13:05
Delphi-Quellcode:
var
  I: Integer;
begin
  for I:= 1 to 20 do
    if I in Indizes then Break;
  Caption:= IntToStr(I);
end;
Gruss
Shaman
Daniel Pauli
Looking for answers from the great beyond
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: Kleinster Wert in set

  Alt 19. Aug 2004, 13:07
Jaaaa, das ist nur ein Beispiel, wenn ich jetzt set of 1..30 hab??? Gibt's nicht was generisches?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Shaman
Shaman

Registriert seit: 2. Nov 2003
Ort: Schweiz
407 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Kleinster Wert in set

  Alt 19. Aug 2004, 13:10
Wie ist denn deine allgemeine Deklaration von Indizes?
Daniel Pauli
Looking for answers from the great beyond
  Mit Zitat antworten Zitat
Benutzerbild von Shaman
Shaman

Registriert seit: 2. Nov 2003
Ort: Schweiz
407 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Kleinster Wert in set

  Alt 19. Aug 2004, 13:16
Sonst mach halt
Delphi-Quellcode:
for I:= 1 to SizeOf(Indizes) shl 3 do
  if I in Indizes then Break;
Daniel Pauli
Looking for answers from the great beyond
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: Kleinster Wert in set

  Alt 19. Aug 2004, 13:20
Ich hab's jetzt so gemacht:
Delphi-Quellcode:
type
  TSortiIndizes = 1..20;
  TSortiSet = set of TSortiIndizes;
var
  Indizes: TSortiSet;
Dann kann ich an eine Prozedur einen Parameter vom Typ TSortiSet übergeben...

Aber sets sind doch eigentlich Bit-Flags (oder so, das ist nicht so mein Bereich )
Kann man dann nicht - egal welcher Typ - irgendwie herausfinden, welcher Wert der kleinste ist?

Ungefähr so (ich weiß, nicht ganz richtig):
funktion Min(pSet: pointer; pSetTyp: pointer): Integer; Und diese Funktion ermittelt dann das Minimum?

P.S. Was macht denn
Delphi-Quellcode:
for I:= 1 to SizeOf(Indizes) shl 3 do
  if I in Indizes then Break;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Shaman
Shaman

Registriert seit: 2. Nov 2003
Ort: Schweiz
407 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Kleinster Wert in set

  Alt 19. Aug 2004, 13:35
Delphi-Quellcode:
type
  TSortiIndizes = 1..20;
  TSortiSet = set of TSortiIndizes;
var
  Indizes: TSortiSet;
  I: TSortiIndizes
begin
  for I:= TSortiIndizes(0) to TSortiIndizes(SizeOf(Indizes) shl 3 - 1) do
    if I in Indizes then Break;
end;
Das sollte das machen, was Du willst. I ist dann das kleinste Element.

Gruss
Shaman
Daniel Pauli
Looking for answers from the great beyond
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Kleinster Wert in set

  Alt 19. Aug 2004, 13:39
Da gibt es ein bessere variante, die ohne das gekröse mit sizOf auskommt:

Delphi-Quellcode:
type
  TSortiIndizes = 1..20;
  TSortiSet = set of TSortiIndizes;
var
  Indezes: TSortiSet;
  i:TSortiIndizes;
..
for i := low(i) to high(i) do
  if i in Indezes then break;
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Benutzerbild von Shaman
Shaman

Registriert seit: 2. Nov 2003
Ort: Schweiz
407 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Kleinster Wert in set

  Alt 19. Aug 2004, 13:44
Ist doch langweilig so
Daniel Pauli
Looking for answers from the great beyond
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#10

Re: Kleinster Wert in set

  Alt 26. Feb 2006, 19:30
Ich grab den Thread nochmal aus...weil es um was ganz ähnliches geht^^
ich habes folgendes Konstrukt:

Bereich: Set of Char = ['a'..'Z']; wobei es halt unterschiedlich sein kann...könnte auch ['c'..']'] sein...

und brauche nun den höchsten und den niedrigsten wert...wäre auch egal wenn es der Ord() wäre oder ähnliches...

Wie mache ich das?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz