Autor Beitrag
ffprogramming
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win XP
C# Java C PHP
BeitragVerfasst: So 02.08.09 19:56 
Was ist FF ClassLibrary?
FF ClassLibrary ist eine Bibliothek für .NET 3.5 (geschrieben in C#), die mehrere mathematisch-wissenschaftliche Klassen bereitstellt. Sie definiert den Namespace science.

Features
Ausgeben von Primzahlen
Finden des größten gemeinsamen Teilers (GGT)
kürzen von Brüchen
multiplizieren von Brüchen

In Planung
Addieren/subtrahieren von Brüchen
Dividieren von Brüchen (fast fertig)

Beispielcode zur Bestimmung des größten gemeinsamen Teilers:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using science; //wichtig dieses using
namespace test
{
class Program
{
static void Main(string[] args)
{
euklid ggt = new euklid();//Dieser Objektverweis ist
//erforderlich.
//Ab jetzt können die Variabeln bzw. die Methode der Klasse
//durch ggt.Variabel oder ggt.Methode() aufgerufen werden.
ggt.a = 12;//Die beiden Zahlen für die der GGT berechnet werden
ggt.b = 3//soll.
ggt.ggt(); // ausführen der Methode zur Berechnung des GGT
Console.WriteLine(Convert.ToString(ggt.ggts));//Hier wird der
//GGT ausgegben.
//Er muss noch von double in string konvertiert werden.
}
}
}


Ich würde mich über Tipps/Ratschläge freuen.
Einloggen, um Attachments anzusehen!
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Do 06.08.09 11:55 
Auch wenn mir bisher kein richtiger Verwendungszweck einfällt, sieht das schonmal gut bis jetzt aus (ich nehme an, das wird noch erweitert, oder?). Was mich noch interessieren würde:


  • eine richtig kompfortable Klasse für Sortieralgorithmen. Wo man zum Beispiel nicht nur Zahlen sortieren kann, sondern beispielsweise auch structs (hätte jetzt fast records geschrieben :mrgreen: ), wo eine Eigenschaft für den Index ausschlaggebend ist (ließe sich doch mittels Events ganz gut lösen, macht aber Arbeit).
  • FFT wäre auch mal cool.
  • Summen, Produkte, Integrale
  • neben ggt auch kgv
  • Ideen gibt's genug!


Bei den Primzahlen:

Zitat:
Please enter border!


Ich glaube eigentlich nicht, dass border da passt. Eher margin oder limit.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 06.08.09 18:35 
Wenn du gerade beim Einstieg in OOP bist, ist Übung natürlich nie schlecht, aber für Funktionen wie GGT ist eine instanzierbare Klasse einfach Overkill ;) . Für die Methoden von System.Math musst du ja auch keine Instanz erzeugen.

Vorschlag einer Umgliederung:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
static class MathEx
{
  public static int Ggt(int a, int b);
  public static int[] GetPrimes(int limit);
  // Noch schöner wäre IEnumerable<T> GetPrimes(), aber das hat noch Zeit...
}

class Fraction
{
  public Fraction(int numerator, int denominator);
  
  public static Fraction Mul(Fraction a, Fraction b);
  public Fraction Cancel();
  public static Fraction Parse(string s);
}
Man könnte sich noch überlegen, statt Mul den *-Operator zu überladen, außerdem würde sich für Fraction ein struct anbieten, aber das ist wirklich nebensächlich.

user profile iconJakob_Ullmann hat folgendes geschrieben Zum zitierten Posting springen:
eine richtig kompfortable Klasse für Sortieralgorithmen
Komfortabel? Das nenne ich absolute Grundfunktion ;P .

_________________
>λ=
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Do 06.08.09 18:37 
Wusste noch gar nicht, dass es in .NET ne eigene Sortier-Klasse gibt. Sollte ich mir wohl mal anschauen. :wink:
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 06.08.09 19:46 
Eine eigene Klasse ist es nun auch wieder nicht ;) . Und das, was du beschreibst - beliebige Daten mit einer Compare-Funktion zu sortieren - schafft auch TList.Sort und erst recht TList<T>.Sort.

_________________
>λ=
ffprogramming Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win XP
C# Java C PHP
BeitragVerfasst: Mi 19.08.09 18:45 
Tag!
Sorry das ich erst jetzt antworte. Aber ich war in Urlaub.
Ich weiß das es in C# eine bessere Möglichkeit gibt zu suchen. Ich habe einfach nur interessehalber Bubblesort hinzugefügt.
Ich denke die Bibilothek ist noch durch SINNVOLLE Methoden erweiterbar.
Liebe Grüße
Filip

-- Moderiert von user profile iconKha: Beiträge zusammengefügt --

Leider habe ich von dem Verbesserungsvorschlag nicht alzuviel verstnaden.
Ich verstehe. dass du kein Objekt der Klasse erzeugen willst!
Leider habe ich nicht ganz verstanden wie du das anstellst.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 19.08.09 19:06 
Mit statischen Methoden bist du vertraut? Wenn nicht, würde ich mal im Galileo Open Book C# o.Ä. nachschlagen.
Die Signatur habe ich ja schon gepostet, du müsstest nur noch deinen bestehenden Code einfügen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
public static class MathEx
{
  public static int Ggt(int a, int b)
  {
    ...
  }
  ...
}


Für weitergehende Frage, die nicht direkt mit dem Projekt zusammenhängen, solltest du aber lieber einen neuen Thread aufmachen.

_________________
>λ=
ffprogramming Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win XP
C# Java C PHP
BeitragVerfasst: Mi 19.08.09 19:16 
Ok danke für die Antwort!