Arrays AND OR usw.
-
- Beiträge: 37
- Registriert: Do 6. Mär 2008, 12:48
- OS, Lazarus, FPC: WinXP/Mint13KDE (Lazarus 1.0.8 FPC 2.6.2)
- CPU-Target: 64 Bit
- Wohnort: Halle (Saale)
Arrays AND OR usw.
Hallo!
Ich möchte im Rahmen meines Projektes 2 Arrays des gleichen Typs mit der OR-Funktion verknüpfen. Hierbei macht mir der Compiler die Mitteilung, dass das nicht so ohne Weiteres geht (die OR-Funktion ist nicht überladen). Gibt es Tricks, das effektiv zu tun, oder ist hier Handarbeit angesagt? (Array3[1]:=Array1[1] OR Array2[1]?)
Beispiel: Array1{1,2,0,4,0,0,0,0,9} OR Array2{1,2,0,0,5,0,0,8,0} sollte Array3{1,2,0,4,5,0,0,8,9} ergeben.
Bin wie immer sehr interessiert an Euren Hinweisen.
Dank im Voraus
Aldi
Ich möchte im Rahmen meines Projektes 2 Arrays des gleichen Typs mit der OR-Funktion verknüpfen. Hierbei macht mir der Compiler die Mitteilung, dass das nicht so ohne Weiteres geht (die OR-Funktion ist nicht überladen). Gibt es Tricks, das effektiv zu tun, oder ist hier Handarbeit angesagt? (Array3[1]:=Array1[1] OR Array2[1]?)
Beispiel: Array1{1,2,0,4,0,0,0,0,9} OR Array2{1,2,0,0,5,0,0,8,0} sollte Array3{1,2,0,4,5,0,0,8,9} ergeben.
Bin wie immer sehr interessiert an Euren Hinweisen.
Dank im Voraus
Aldi
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Arrays AND OR usw.
Ähmmm willst du an diesem Beispiel beide Addieren? so schaut es für mich aus. Da ich mich nicht gerade festlegen möchte, versuch malaldicek hat geschrieben:Hallo!
Ich möchte im Rahmen meines Projektes 2 Arrays des gleichen Typs mit der OR-Funktion verknüpfen. Hierbei macht mir der Compiler die Mitteilung, dass das nicht so ohne Weiteres geht (die OR-Funktion ist nicht überladen). Gibt es Tricks, das effektiv zu tun, oder ist hier Handarbeit angesagt? (Array3[1]:=Array1[1] OR Array2[1]?)
Beispiel: Array1{1,2,0,4,0,0,0,0,9} OR Array2{1,2,0,0,5,0,0,8,0} sollte Array3{1,2,0,4,5,0,0,8,9} ergeben.
Bin wie immer sehr interessiert an Euren Hinweisen.
Dank im Voraus
Aldi
Code: Alles auswählen
and
Code: Alles auswählen
add
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 


-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Arrays AND OR usw.
Implementiere dir doch die entsprechende Operation als Operator.aldicek hat geschrieben:Hallo!
Ich möchte im Rahmen meines Projektes 2 Arrays des gleichen Typs mit der OR-Funktion verknüpfen. Hierbei macht mir der Compiler die Mitteilung, dass das nicht so ohne Weiteres geht (die OR-Funktion ist nicht überladen). Gibt es Tricks, das effektiv zu tun, oder ist hier Handarbeit angesagt? (Array3[1]:=Array1[1] OR Array2[1]?)
Beispiel: Array1{1,2,0,4,0,0,0,0,9} OR Array2{1,2,0,0,5,0,0,8,0} sollte Array3{1,2,0,4,5,0,0,8,9} ergeben.
Bin wie immer sehr interessiert an Euren Hinweisen.
Dank im Voraus
Aldi
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: Arrays AND OR usw.
ich glaube wenn du mit einem "Set of" arbeiten würdest geht das.
Allerdings hat das ein ganz anderen aufbau...
ein "Set of" kann Speichern welche der Zahlen sich in der Liste befinden...
Du verzichtest also auf die Reihenfolge der Zahlen und die länge des Arrays
Allerdings hat das ein ganz anderen aufbau...
ein "Set of" kann Speichern welche der Zahlen sich in der Liste befinden...
Code: Alles auswählen
var
x:set of byte; // zahlen von 0..255
begin
x := [8,4,2,1]; // Die hier angegebene Reihenfolge wird nicht gespeichert !
if 2 in x then Showmessage('Hurra');
Code: Alles auswählen
Signatur := nil;
-
- Beiträge: 308
- Registriert: Do 9. Apr 2009, 10:10
- OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 785..
Re: Arrays AND OR usw.
Ich vermute,dass es besser ist, "set of" für diesen speziellen Fall zu vergessen.
"operator overload" ist wohl das gesuchte, wie schon ein Vorredner vorgeschlagen hat. Anleitung dafür müsste zumindest auf englisch im Netz zu finden sein.
"operator overload" ist wohl das gesuchte, wie schon ein Vorredner vorgeschlagen hat. Anleitung dafür müsste zumindest auf englisch im Netz zu finden sein.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
Re: Arrays AND OR usw.
Also im Prinzip willst du ja nur das Resultat haben und keine überladenen Operatoren etc., oder?aldicek hat geschrieben:Gibt es Tricks, das effektiv zu tun, oder ist hier Handarbeit angesagt?
Schreib doch einfach eine kleine Funktion, die das mit den drei Arrays erledigt. Mehr als ein paar Zeilen Code ist das doch nicht.
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Arrays AND OR usw.
Ob Operator oder Funktion ist doch fast das selbe, nur der Aufruf sieht ein wenig anders aus.theo hat geschrieben:Also im Prinzip willst du ja nur das Resultat haben und keine überladenen Operatoren etc., oder?
Schreib doch einfach eine kleine Funktion, die das mit den drei Arrays erledigt. Mehr als ein paar Zeilen Code ist das doch nicht.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 37
- Registriert: Do 6. Mär 2008, 12:48
- OS, Lazarus, FPC: WinXP/Mint13KDE (Lazarus 1.0.8 FPC 2.6.2)
- CPU-Target: 64 Bit
- Wohnort: Halle (Saale)
Re: Arrays AND OR usw.
Hallo und vielen Dank an alle Beitragsschreiber!
Durch eine Redefinition meiner Vorgaben hat sich diese Frage erübrigt. Trotzdem vielen Dank für alle Antworten!
Nur als PS: Das Überladen der Operatoren war auch mein erster Denkansatz, da ich das aber in vielen Klassen tun müsste, wäre der Weg über eine einfache Funktion der ressourcenschonendere.
Grüße
Aldi
Durch eine Redefinition meiner Vorgaben hat sich diese Frage erübrigt. Trotzdem vielen Dank für alle Antworten!
Nur als PS: Das Überladen der Operatoren war auch mein erster Denkansatz, da ich das aber in vielen Klassen tun müsste, wäre der Weg über eine einfache Funktion der ressourcenschonendere.
Grüße
Aldi