![]() |
Schnittmenge berechnen
hi,
ich soll ein Prog schreiben das die Schnittmenge berechnet und in einem Stringgrid ausgibt. Ich habe jetzt den Code hiermal gepostet soweit ich gekommen bin wer kann mir den helfen das zu vervollständigen. Gruß Oliver
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Button1: TButton; StringGrid1: TStringGrid; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); type Menge = set of 1..12; var a, b:Menge; text1:string; text2:string; i:string; begin a := [1,2,3]; b := [3,4,5]; end; end. |
Re: Schnittmenge berechnen
also nur mal so logisch (ich hab das vor 2 jahren gelernt) ...
Delphi-Quellcode:
var a, b, c:Menge; // c hinzufügen begin a := [1,2,3]; b := [3,4,5]; c := a*b; // ergebnis wäre da natürlich 3 ;) end; |
Re: Schnittmenge berechnen
und wie mache ich das nun das ich ihm edit1 die zahl z.b 2 eingeb und in edit 4 die zahl 3 und das er das ganze im stringgrid ausgibt?
|
Re: Schnittmenge berechnen
suchen und die regel gilt auch für dich
Zitat:
|
Re: Schnittmenge berechnen
das ist keine neue Frage ich hab das oben schon gefragt wie das geht. Ich weiß das ich Dinge im Stringgrid <stringgrid>.cells[spaltenzahl,zeilenzahl]:=<Wert> ausgeben kann. Wenn ich jetzt Sage a:=Edit1.text; bekomm ich die Meldung inkompatible typen.
Gruß Oliver |
Re: Schnittmenge berechnen
:oops: sorry ...
ok .. also das ist wohl logisch ... du schreibst in ein Edit ja einen STRING das was du gemacht hast is ja n eigener typ ;) ... dazu musst du zuerst das edit parsen am besten du suchst hier mal. also wenn im edit das steht "12 23 34" --> du musst auf jeden fall parsen (nach zahlen suchen) und dann in eine globale variable (zb "menge1Eingabe") schreiben für die weiterverarbeitung |
Re: Schnittmenge berechnen
habe es net hinbekommen weiß einfach net wie ich vorgehen kann. könntest du mir mal mit dem prog weiterhelfen
Gruß Oliver |
Re: Schnittmenge berechnen
Hai tobiasw,
hier mal ein Beispiel. Es gibt fünf Buttons, 1 Edit und 1 Label. Mit zwei Buttons werden die Mengen gelöscht. Mit zwei Buttons wird jeweils eine zahl aus dem Edit in eine der beiden Mengen eingefügt. Mit dem fünften Button wir im Label die Schnittmenge ausgegeben.
Delphi-Quellcode:
type
Menge = set of 1..12; var a, b : Menge; procedure TForm1.Clear_Set_AClick(Sender: TObject); begin a := []; end; procedure TForm1.Clear_Set_BClick(Sender: TObject); begin b := []; end; procedure TForm1.Add_to_AClick(Sender: TObject); begin a := a + [StrToInt(Edit1.Text)]; end; procedure TForm1.Add_to_BClick(Sender: TObject); begin b := b + [StrToInt(Edit1.Text)]; end; procedure TForm1.Show_SchnittmengeClick(Sender: TObject); var c : Menge; ndx : Integer; begin c := a * b; Label1.Caption := ''; for ndx := 1 to 12 do if (ndx IN c) then begin Label1.Caption := Label1.Caption + IntToStr (ndx) + ' '; end; end; |
Re: Schnittmenge berechnen
hi
ich habs hinbekommen. ![]() Smile Das Problem ist wo ich hab wenn jetzt z.b. zwei Zahlen gleich wären schreibt er mit die im stringgrid aneinander? Wie kann ich dass denn noch lösen? Gruß |
Re: Schnittmenge berechnen
[OT]
![]() du musst halt abfragen obs zweimal gleich ist :stupid: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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