
lilith2k3
Mitglieder-
Gesamte Inhalte
1420 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
2
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von lilith2k3
-
Werde ich (wenn ich demnächst mal wieder dazu komme) in der Praxis austesten müssen. Die Anwendung ist soweit fertig. Daher kam ich auch auf den Gedanken, das, was vorher seriell ablief, zu parallelisieren :] Vorallem natürlich erstmal mit dem Hintergedanken, was Neues auszuprobieren und etwas zu lernen. Kennst Du gute Quellen (im Netz)?
-
Howto: (Almost) Everything In Active Directory via C# - CodeProject Vielleicht ist das gesuchte ja hier dabei :]
-
Ich sag mal : Versuch macht kluch. Virtual Box ist eine Virtualisierungssoftware, welche frei erhältlich ist. Statt also die komplette Infrastruktur auf ein zweites Betriebssystem zu münzen, habe ich vorgeschlagen, einfach ein Betriebssystem virtualisiert laufen zu lassen.
-
http://users.aber.ac.uk/auj/voidmain.shtml Warum int main sinnvoll ist ...
-
Ich würde so einen Aufwand nicht betreiben... Wenn's wirklich nicht anders ist, würd ich einfach eine Virtual Box installieren und fertig...
-
Es ist äußerst schwer, quasi per Ferndiagnose, etwas über Deine Englischkenntnisse zu sagen und Dir adäquate Ratschläge zu geben, um Dein Englisch aufzubessern. Was ich in jedem Falle empfehlen kann, ist in's kalte Wasser zu springen; will sagen: lies regelmäßig englische Fachliteratur, Artikel, Foren etc. z.B.: Ars Technica Slashdot - News for nerds, stuff that matters http://www.youtube.com/user/GoogleTechTalks Melde Dich ggf. in einem Forum an und schreibe etwas zu Themen, die Dich interessieren. Es gibt nichts Gutes, außer man tut es
-
Tiefe einer Verschachtelung mittels Stack
lilith2k3 antwortete auf Istnichtschlimm's Thema in Algorithmik
public class TreeNode { ArrayList<TreeNode> SubNodes = new ArrayList<TreeNode>(); public void AddNode(TreeNode node) { if (node != this) SubNodes.add(node); } public int CalculateLevel() { int Level=1; int MaxSubLevel = 0; int TempLevel=0; if (SubNodes.size()>0){ for(TreeNode item: SubNodes) { TempLevel=item.CalculateLevel(); if (TempLevel > MaxSubLevel) MaxSubLevel=TempLevel; } } else return Level; return Level+MaxSubLevel; } } [/PHP] -
Frage zu Modulo in Abschlussprüfung Sommer 09
lilith2k3 antwortete auf DigitalD_0815's Thema in Prüfungsaufgaben und -lösungen
Laut Definition, ja. -
Tiefe einer Verschachtelung mittels Stack
lilith2k3 antwortete auf Istnichtschlimm's Thema in Algorithmik
Das kommt auf Deine Implementation an... Dann hast Du eine Liste, die Listen als Elemente hat. Wenn Du ({}[()]) zerlegst, hast Du in der Äußeren Klammer {1} und (3), in der {1}, in der [2] und der letzten (1). Dann erfolgt die Berechnung mit leicht modifiziertem Algorithmus: 1. Ermittle alle Klammernpaare aller Nachfolgeelemente aller Unterlisten. 2. Gib den höchsten Wert zurück oder, wenn kein Nachfolger da, gib "Selbst" zurück. Statt einer Liste benötigst Du eben einen Baum(Liste mit Listen als Unterelement quasi). Und die Berechnungsfunktion läßt sich prima rekursiv implementieren. Voilà ! -
Frage zu Modulo in Abschlussprüfung Sommer 09
lilith2k3 antwortete auf DigitalD_0815's Thema in Prüfungsaufgaben und -lösungen
Modulo ist der Teilerrest: 5 Mod 3 = 2. oder algebraisch ... x Mod y = z => y+z=x. In dem Fall (Endstellen+Quersumme) Mod 97=1 => Endstellen=98 (97+1)-Quersumme. -
#include <iostream> #include <string> using namespace std; const double PI=3.14159; const char CircumferenceOption = '1'; const char AreaOption = '2'; const char AreaAndCircumferenceOption ='3'; const char ExitOption = 'e'; void PrintMenu(); double AreaCalc(double Radius); double CircumferenceCalc(double Radius); double GetRadiusPrompt(string Prompt); int main(int argc, char** argv) { char answer='x'; double radius=0; while (answer != ExitOption) { PrintMenu(); cin >> answer; switch (answer) { case CircumferenceOption: radius = GetRadiusPrompt("Bitte geben Sie den Radius für die Umfangsberechnung ein"); cout << CircumferenceCalc(radius) << endl; break; case AreaOption: radius = GetRadiusPrompt("Bitte geben Sie den Radius für die Areaberechnung ein"); cout << AreaCalc(radius) << endl; break; case AreaAndCircumferenceOption: radius = GetRadiusPrompt("Bitte geben Sie den Radius für die Unfang- und Areaberechnung ein"); cout << CircumferenceCalc(radius) << endl; cout << AreaCalc(radius) << endl; break; } } return 0; } void PrintMenu() { cout<<"Was moechten Sie berechnen?\n\n"; cout<< CircumferenceOption << " : Umfang\n"; cout<< AreaOption << " : Flaeche\n"; cout<< AreaAndCircumferenceOption << " : Umfang und Flaeche\n"; cout<< ExitOption << ": Programm beenden\n\n"; } double GetRadiusPrompt(string Prompt) { double radius=0; cout << endl <<Prompt << ": "<< endl; if (!(cin>>radius)) { cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); } return radius; } double CircumferenceCalc(double Radius) { return 2*Radius*PI; } double AreaCalc(double Radius) { return Radius*Radius*PI; }[/PHP]
-
Tiefe einer Verschachtelung mittels Stack
lilith2k3 antwortete auf Istnichtschlimm's Thema in Algorithmik
Warum? ( ( ( ) ) ) 3 2 1 War doch das, worauf Du hinauswolltest, oder etwa nicht? -
Tiefe einer Verschachtelung mittels Stack
lilith2k3 antwortete auf Istnichtschlimm's Thema in Algorithmik
Wie wäre es mit folgendem Schnellschuss: Du hast eine Funktion: ermittleKlammernpaare(). Und statt eines dummen Stacks, benutzt Du eine verkettete Liste. ermittleKlammernpaare:=selbst+ermittleKlammernpaare(next); Und selbst ist bei jedem Element eben 1. E.g. 3 Elemente: Selbst+Selbst+Selbst=3 Suchst Du dann die Tiefe von Element 2, so führst Du eben ermittleKlammernpaare() auf dem zweiten Element aus. Du brauchst dann nur einen Iterator, der durch die Liste an Klammernpaaren wandert. -
OSCAR (ICQ v7/v8/v9) protocol documentation http://www.shaim.net/trac/oscarlib/
-
Äh... Halt! Vielleicht wären die ein oder andere Frage zu klären vorher sinnvoll ... Wie klein ist klein? Viel wirst Du zwar nicht brauchen, aber an die 8-10 GBs sollten es schon sein. Desweiteren wirst Du in der Regel eine sog. SWAP-Partition benötigen (Linux legt keine Datei wie Windows zum Speicherauslagern an, sondern nutzt eine SWAP-Partition dafür). Außerdem wären ein paar Randdaten zum Rechner insgesamt ganz nett: 1) Prozessor 2) Grafikkarte 3) Hauptspeicher 4) andere Hardware Bevor Du Dich in das Abenteuer stürzt, sollte überprüft werden, ob es möglich ist, bzw. ob irgendwelche Schwierigkeiten auftauchen könnten.
-
Sieb des Eratosthenes ? Wikipedia Immer sehr beliebt
-
Den/die Artikel kann ich nur weiterempfehlen :] Das passt genau zu meinem Problem. Ich habe es nun so gelöst, dass ich ein Containerobjekt geschaffen habe, welches ich mit einem public readonly object ContainerLock = new object(); versehen habe. Den Consumer Prozess kann ich dann bequem mit Monitor.Wait(con.ContainerLock) in den Wartezustand versetzten. Und wenn der Producer wieder was in die Queue gefüllt hat, kann ich mit Monitor.Pulse(con.ContainerLock); Bescheid geben. Exzellent! :]
-
Eine Frage zwischendurch, die nicht unbedingt mit dem Thema zu tun hat: Waren solche Fragestellungen nicht der Grund dafür, dass so Ungetüme wie awk entwickelt worden sind, bzw. später dann PERL? Warum das nicht damit lösen, oder ganz einfach mit modernen Skriptsprachen wie Python oder Ruby? Vorallem, weil die -behaupte ich einmal stumpf- wesentlich schneller von der Laufzeit her sind, als die gute alte Bash.
-
Das ganze Ding haut nicht hin .... #define MAX 100 Sowas bitte Unterlassen: 1) Wenn es eine Integerkonstante sein soll, glaube ich, spricht nichts dagegen, daß dann auch so hinzuschreiben, oder? 2) Wäre es sinnvoll, sich beim Benennen der Variablen ein wenig mehr Gedanken zu machen ... const int ArtikelMaximum = 100; Jeder andere Programmierer kann dann anhand des Variablennamens erkennen, worum es geht, nämlich um die maximale (maximal gewünschte) Anzahl an Artikeln. und char antwort; Überläufe werden von Dir überhaupt nicht berücksichtigt: char antw; ... scanf("%s",&antw); [/PHP] scanf nimmt zur Not auch einen ganzen Aufsatz entgegen, den Du dann in einem einzigen Byte (char) ablegen willst? Benutze lieber fgets: [PHP]fgets ($Zielstring , $LeseAnzahlBytes , $Stream); fgets(myString,100, stdin); Wofür steht diese Zeile struct artikel;? scanf("%s",&antw); switch(antw){ case('N'): case('n'): break; }[/PHP] Den ganzen Block solltest Du aus der for-Schleife herausnehmen. Desweiteren solltest Du für die Fälle 'N','n' keinen Switchblock verwenden, vorallem weil Du Dir mit dem [PHP]break ein Eigentor schießt. Wenn überhaupt, dann schreib folgendes: if (antw == 'N' || antw == 'n') break; Das versteht jeder. "Wenn antw ein großes N oder antw ein kleines N, dann verlasse die (do-while)-Schleife". Was deklarierst Du eigentlich an der Stelle? struct artikel{ char artikel_n[MAX]; double artikel_nr[MAX]; double artikel_p[MAX]; double artikel_best[MAX]; }a;[/PHP] Du deklarierst einen Artikel, der einen Namen (artikel_n) besitzt -den Du im Übrigen ruhig "char artikel_name" benennen könntest-, mit einer Länge von [i]MAX[/i], also 100 Zeichen. Bei _nr, _p, _best legst Du allerdings ein Array von Doubles an. Um Zeichenketten abzulegen, benötigst Du ein eindimensionales Array [PHP]char meinString[100]; willst Du mehere Zeichenketten ablegen, benötigst Du zweidimensionale Arrays char meineStrings[10][100];. Sinnvoller wäre es, wenn Du mit C++ arbeiten würdest. Dort gibt es auch Strings. scanf(" %s", &a.artikel_n[i]); Das ganze würdest Du sinnvollerweise anders aufziehen: 1) ein Struct für Artikel anlegen 2) ein Array zur Verwaltung der einzelnen Artikel (später wirst Du es mit dynamischer Speicherverwaltung auch dynamisch erzeugen) Und dann über das Array auf die einzelnen Artikel, resp. Artikelmember zugreifen. printf("\n\n %s %3.lf %.2lf %.0lf\n\n",a.artikel_n, a.artikel_nr, a.artikel_p, a.artikel_best); Dazu sag ich jetzt nichts mehr. Hausaufgabe: 1) Code lesbarer gestalten Jede gute Benennung spart unnötige Kommentarzeilen ebenso wie Dokumentation. Der Code soll zeigen, was er tut. Tut er das nicht, macht ein Kommentar die Sache nur noch schlimmer. Code will nicht nur geschrieben werden, sondern vorallem gelesen. 2) Logik überdenken Was ist sinnvoller, eine Struktur, die versucht alle Artikel abzubilden, oder eine Struktur, die genau einen Artikel abbildet? 3) Überläufe bedenken und sichere(re) Funktionen benutzen 4) Überlegen, ob C++ nicht doch sinnvolle wäre 5) Überlegen, ob C/C++ überhaupt anfängertauglich ist
-
Vielen Dank ersteinmal soweit :] .NET 4.0 scheidet voraussichtlich aus. Ich habe bei der Verwendung von .NET 4.0 und einigen (microsofteigenen) Ressourcen, welche ich einbinden muss Probleme gehabt, die bei Target .NET 3.5 nicht aufgetreten sind (gleicher Code wohlgemerkt). Insofern fällt die TPL und so Schnickschnack wie PLINQ ersteinmal flach :/ Alldieweil hab ich was interessantes im Netz gefunden ... Threading in C# - Part 4 - Advanced Threading muss ich mir mal morgen oder so anschauen :]
-
alternativ einen anderen Compiler benutzen
-
Das heißt, wenn wir eine Schleife haben, die alle Elemente von keys der Reihe nach durchläuft, haben wir bei keys, die Ausgabe 4,3,2,1,0, right? Und diese Werte wiederum in values eingesetzt, ergeben ...? Preisfrage *G* values[4]= ___ values[3]= ___ values[2]= ___ values[1]= ___ values[0]= ___ Edit: Keys muss natürlich die Zahlen von 0 - 4 beinhalten, damit es funktioniert ... Sorry :/
-
Hallo liebe Programmierkundigen, kennt jemand von Euch Tutorials, Bücher etc. zum Thema Multithreading in C#? Ich möchte gern eine etwas komplexere Anwendung schreiben, habe aber noch keine Ahnung, wie man sowas in C# multithreaded umsetzen kann. Allgemeine Sachen habe ich quasi zu Hauf im Netz gefunden (Background Worker, Threads mit Lamda-Ausdrücken, Threadpools etc.). Allerdings kratzt das für meine Bedürfnisse zu sehr an der Oberfläche. Mir schwebt folgendes vor: Meine Anwendung hat 2+ parallele Threads laufen, über welche ich einen Webservice ansteuern möchte. Dort werden Daten in einer Datenbank abgelegt. Mit den jeweiligen (temporären) Antworten arbeiten derweil die anderen Threads weiter. Beispiel: Ich habe eine Liste von Kontaktpersonen. Jede Kontaktperson ist einer Firma zugeordnet. Ich habe dann quasi zwei Listen (1) Alle Firmen und (2) Alle Kontakte. Thread 1 startet damit, alle Firmen der Reihe nach in die Datenbank zu pusten. Jedesmal, wenn eine Firma neuangelegt worden ist, erhalte ich eine Guid zum entsprechenden Datensatz zurück. Ist die Firma allerdings schon vorhanden, ermittele ich die Guid. Die Guid lege ich in einem Container in welchem beide Threads Zugriff haben sollen ab. Thread 2 "pollt" quasi den Container und sobald da eine Guid drin liegt, werden die entsprechenden Kontakte der Firma, deren Guid im Container abgelegt worden ist, in die Datenbank geblasen. Alternativ hab ich auch schon an Events gedacht, so dass quasi der Container dem zweiten Thread "Bescheid" sagen kann; "Hey, Junge, hier gibt's was!". Wie gesagt, es ist ein recht komplexes Thema. Ich bin dankbar für jede Hilfestellung, bzw. jeden (Literatur)Tip.
-
ein Tip: wenn Du ein array values mit den Zahlen 5,4,3,2,1 hast und ein zweites keys mit den Zahlen 5,4,3,2,1 hast, was ergibt dann jeweils values[keys]?
-
Wahrscheinlich ist das eine Zusatzaufgabe ... und gemeint ist die generellen Möglichkeiten, die sich mit einem zweiten AP ergeben.