|
You last visited: Today at 21:34
Advertisement
Coders Chit-Chat
Discussion on Coders Chit-Chat within the General Coding forum part of the Coders Den category.
09/26/2015, 01:44
|
#226
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
|
Quote:
Originally Posted by snow
Momentan bin ich privat noch sehr eingespannt, aber dann kann ich ja auch schonmal fragen: Ich würde gerne die Aktivität im Bereich ein wenig fördern, auf meiner Todo-List stehen momentan:
- Stickies überarbeiten, insbesondere im Coding Tutorials-Bereich
- Regeln für Requests überarbeiten, z.B. einen Sammelthread für (kleinere) Programm-Requests
- Die Idee für einen Chit Chat hatte ich schon länger, allerdings wüsste ich gerne ob ihr lieber einen für alle Sektionen oder für jeden größeren Bereich (vermutlich Web und .NET) noch einen eigenen haben würdet
- Mir fehlt ein wenig die Interaktion, deshalb hätte ich an regelmäßige "Events" wie z.B. Code Challenges (z.B. Algorithmen) oder auch Code Reviews gedacht
- Evtl. könnte man mal wieder etwas größeres zum Thema Game Hacking starten
Wie ist eure Meinung dazu? Was würdet ihr noch gerne hier im Bereich sehen bzw. verbessern? 
|
Ich habe die Titel im Coding Tutorials Bereich ein wenig vereinheitlicht indem ich die Prefixes eingesetzt habe. Demnächst kommen hoffentlich noch "Other", "AutoIt", "Python", "Java" und "Theory" dazu. Ein paar veraltete Stickies habe ich auch schon entfernt.
Planung für die nächsten Tage:
- Einen neuen Tutorials-Index erstellen, nach Sprache sortiert. Ggf. einen zusätzlichen Thread für theoretische / allgemeine Tutorials, z.B. Shadow992s AI-Buch oder Choliks Packet Sniffing Tutorial. Sollte das jemand machen wollen: Sehr gerne, dann bitte aber auch aktuell halten.
- Richtlinien für Tutorials definieren. Erste Ideen: Sprache als Prefix angeben zur vereinfachten Suche, keine fremden YouTube-Videos posten, keine zu speziellen Tutorials ("IP rausfinden mit C#" - kann jeder Depp mit 2 Minuten Google. "[C#] JSON parsen" - schon besser)
- Sammelthread für Projektideen. Somit bleiben "was soll ich programmieren?" Threads erspart und User können dort ihre Requests posten. Oder lieber einen zusätzlichen Requests-Thread?
- Code Reviews wären vorerst ganz nett, bis zu den ersten Code Challenges wird es noch dauern. Qualifizierte Leute, die mitmachen würden bitte vortreten. Bitte möglichst Leute, die Qualifikationen vorweisen können und etwas von Softwaretechnik studieren
Alles natürlich unter Vorbehalt bis es von den Admins abgesegnet ist.
|
|
|
09/28/2015, 00:23
|
#227
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
Hey ho Leute,
derzeit suche ich mir ein Projekt für nebenbei und bin über  auf die Idee gekommen so etwas wie die epvpapi für .Net als allgemeine dynamische Bibliothek zu machen.
Ich würde diese dann als Open-Source Crossplattform Projekt aufziehen. Im sinn habe ich mindestens die Plattformen Windows, Linux, Mac OSX zu unterstützen. Prinzipiell (dank Cross Komponenten) wären noch einige mehr drin (z.B. FreeBSD oder Solaris), aber ich denke nicht dass ich mir dafür die Zeit nehmen werde mich auch darum zu kümmern.
Wäre allgemeines Interesse da?
|
|
|
09/28/2015, 16:50
|
#228
|
elite*gold: 63
Join Date: Nov 2012
Posts: 2,123
Received Thanks: 500
|
Hey ihr Lieben,
Da ich gerade etwas mit Java herum experimentiere (Bin ein Anfänger!) und gerade ein kleines Problem habe, wo ich nicht weiterkomme, frage ich einfach mal hier nach.
Ich möchte mit meinem kleinen Programm die Binomische Formel (2x-4)⁴ ausrechnen, nur klappt das noch nicht so ganz.
Programm sieht wie folgt aus:
Code:
public class bino {
public static void main(String [] args) {
double a = 2;
double b = (-4);
char c = 'x';
double y = ((2*c-4)^4);
System.out.println(y);
}
}
So, nun zu meiner Frage, was mache ich falsch? Kann es sein, das ich hier mit Math.pow arbeiten muss? Und wenn ja, wie genau stelle ich das an?
Liebe Grüße und Danke im voraus! :-)
|
|
|
09/28/2015, 17:05
|
#229
|
elite*gold: 0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
|
Einerseits Math.Pow, andererseits ist deine Variable c, die das x in der Former repräsentiert ein char. Chars sind Zeichen und wenn du mit diesen rechnest, rechnest du mit dem ASCII Wert der Zeichen.
Hätte dein c den Wert '1', würdest du (2*49-4)^4 berechnen, da die ASCII Werte der Zahlen einen Offset von 48 haben.
Für c also auch einen Zahlendatentyp nehmen.
|
|
|
09/28/2015, 18:47
|
#230
|
elite*gold: 63
Join Date: Nov 2012
Posts: 2,123
Received Thanks: 500
|
Quote:
Originally Posted by Serraniel
Einerseits Math.Pow, andererseits ist deine Variable c, die das x in der Former repräsentiert ein char. Chars sind Zeichen und wenn du mit diesen rechnest, rechnest du mit dem ASCII Wert der Zeichen.
Hätte dein c den Wert '1', würdest du (2*49-4)^4 berechnen, da die ASCII Werte der Zahlen einen Offset von 48 haben.
Für c also auch einen Zahlendatentyp nehmen.
|
Okay, dann nehme ich für c einfach int. Nur wie baue ich da jetzt Math.pow ein, das es auch funktioniert? Derzeitig gibt mir das Programm nur einen Wert von 232,0 aus, was so ja nicht stimmt.
Liebe Grüße
|
|
|
09/28/2015, 19:27
|
#231
|
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
|
Java kann keine Terme umformen, also du kannst Java kein "(x + y)^2" geben und "x^2 + 2xy + y^2" als Ausgabe fordern. Also das geht schon, aber das musst du selber machen.
Java kann aber rechnen, also konkrete Zahlenwerte addieren, multiplizieren, dividieren, subtrahieren, potenzieren, und so weiter.
Einiges geht mit Operatoren, die du schon verwendest: x + y, x * y, x / y, x - y, wobei x, y Variablen sind.
Fuer andere Sachen gibt es keine Operatoren, aber Funktionen (= Methoden). Die main Methode in deinem Code ist zum Beispiel auch eine Methode. Fuer das Potenzieren gibt es also auch eine Funktion, Math.pow().
Wenn du in der IDE jetzt einmal Math.pow eingibst, und dann mit gedruecktem Ctl drauf klickst, kommst du zur Definition:
Quote:
|
public static double pow(double a, double b) {
|
Das ist die Signatur der Methode: Du musst zwei Parameter uebergeben und bekommst dafuer einen Parameter zurueck. a ist die Basis und b ist der Exponent.
Statt z = x ^ y schreibst du also z = Math.pow(x, y), wobei x und y wieder Variablen sind (und nochmal: nicht im mathematischen Sinn, also nicht irgendein Platzhalter in der Rechnung, sondern im Java Sinn: Ein Name fuer einen konkreten Wert).
Dein Code liefert uebrigens keinen Fehler weil ^ auch ein Operator ist, der macht aber etwas ganz anderes.
|
|
|
09/30/2015, 23:06
|
#232
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
C# Windows Form:
10 Checkbox Checked changed events oder in einem timer alle 500 ms alle checkboxen durchgehen? (Ich will wissen welchen checked state sie grade haben)
Was ist schneller/besser
|
|
|
10/01/2015, 00:04
|
#233
|
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
|
Das mit dem Timer klingt richtig haesslich, finde ich (aber keine Ahnung von C#). Ich wuerde den Status entweder dann abfragen, wenn ich ihn brauche, oder, wenn ich auf eine Aenderung reagieren moechte, auch das Event nehmen. Dafuer ist es doch auch da. Um drauf zu reagieren.
|
|
|
10/01/2015, 00:07
|
#234
|
elite*gold: 56
Join Date: Oct 2010
Posts: 3,409
Received Thanks: 1,219
|
Quote:
Originally Posted by »FlutterShy™
C# Windows Form:
10 Checkbox Checked changed events oder in einem timer alle 500 ms alle checkboxen durchgehen? (Ich will wissen welchen checked state sie grade haben)
Was ist schneller/besser
|
Bei event alle boxen auslesen. Kann sich ja nur bei einem event ändern.
|
|
|
10/01/2015, 00:10
|
#235
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
Quote:
Originally Posted by »FlutterShy™
C# Windows Form:
10 Checkbox Checked changed events oder in einem timer alle 500 ms alle checkboxen durchgehen? (Ich will wissen welchen checked state sie grade haben)
Was ist schneller/besser
|
Weise jedem einen Tag von 0 bis 9 zu, erstelle einen boolean Array mit 10 Feldern, 1 onchange Event für alle und da rein dann myarray[Sender.Tag]=Sender.checked
|
|
|
10/01/2015, 00:29
|
#236
|
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
|
Dijkstra kommt nicht mit negativen Kantengewichten zurecht. Ein Beispiel, an dem Dijkstra fehlschlagen soll, ist zum Beispiel folgender Graph (V, E) mit Kostenfunktion c und Startknoten 1:
Code:
V = (1, 2, 3)
E = ((1, 2), (1, 3), (3, 2)),
c(1, 2) = 1, c(1, 3) = 2, c(3, 2) = -2
Der kuerzeste Weg von 1 zu 2 ist also der Pfad ((1, 3), (3, 2)) mit Gewicht 0.
Mit einer Prioritaetsliste Q und Startknoten s habe ich folgende Referenz-Implementierung von Dijkstra fuer einen Graphen G = (V, E):
Code:
Function Dijkstra(s: NodeId)
d = <infty, ..., infty>
parent = <null, ..., null>
d[s] := 0
parent[s] := s
Q.insert(s)
while Q != empty do
u := Q.deleteMin
foreach e = (u, v) in E do
if d[u] + c(e) < d[v] then
d[v] := d[u] + c(e)
parent[v] := u
if v in Q then Q.decreaseKey(v)
else Q.insert(v)
return (d, parent)
Inwiefern schlaegt der Algorithmus fuer das Beispiel fehl? Ich sehe das so:
Knoten s = 1 wird in Q eingefuegt. Ausgehende Kanten sind (1, 2) und (1, 3), beide werden in der foreach Schleife entdeckt und relaxiert. Dabei werden die Knoten 2 und 3 in Q eingefuegt, ausserdem wird d[2] = 1 und d[3] = -2 gesetzt. Da c(1, 2) < c(1, 3) wird im naechsten Durchlauf der while Schleife also Knoten 2 untersucht; es gibt keine ausgehende Kanten, und damit wird die foreach Schleife ueberhaupt nicht ausgefuehrt. Also wird Knoten 3 zuletzt betrachtet. Jetzt entdeckt die foreach Schleife aber die Kante (3, 2) und relaxiert, da d[3] + c(3, 2) = 2 - 2 = 0 < 1 = d[2] wird d[2] = 0 gesetzt und Knoten 2 wird erneut in Q eingefuehrt (es passiert aber dann nichts mehr). Also liefert der Algorithmus zuletzt das Ergebnis
Code:
d[1] = 0, d[2] = 0, d[3] = 2,
und das ist korrekt.
Die Implementierung stammt aus einem Buch ueber Algorithmen, das Beispiel (oder ein aehnliches) gibt es auf zahlreichen Internetseiten. Lese ich den Algorithmus irgendwo falsch? Findet jemand ein Beispiel mit negativen Kanten (aber ohne negativen Zyklen), bei dem der Algorithmus versagt?
|
|
|
10/01/2015, 18:23
|
#237
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by warfley
Weise jedem einen Tag von 0 bis 9 zu, erstelle einen boolean Array mit 10 Feldern, 1 onchange Event für alle und da rein dann myarray[Sender.Tag]=Sender.checked
|
ich habe eine settings klasse wobei zur laufzeit settings abhängig zu bestimmten checkboxen sind. Die settings sind static.
Kann ich für alle checkboxen also eine funktion registrieren? Wenn ich das von Visual studio generieren lasse habe ich dann ja 10 events(ein checkedchanged pro checkbox) und 10 funktionen(wobei das kann ich ja in vs angeben welche funktion da genutzt wird also auch nur eine)
Ich denke das ist geklärt wenn du immer noch meinst das die Events die beste lösung sind

|
|
|
10/01/2015, 20:59
|
#238
|
elite*gold: 1
Join Date: Jun 2008
Posts: 1,318
Received Thanks: 490
|
Hi Leute,
mal ne Frage:
Bin auf Netbeans umgestiegen und wollte mal fragen, ob man irgendwie den workspace von PC und Laptop synchen kann. (Vielleicht mit ftp?), sodass ich, egal wo ich Netbeans öffne, denselben workspace habe.
|
|
|
10/01/2015, 21:23
|
#239
|
elite*gold: 0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
|
Würde da dann eher nen Versionierungssystem wie git empfehlen.
 oder wenn du kostenlos auch private Repos willst:
|
|
|
10/01/2015, 22:17
|
#240
|
elite*gold: 1
Join Date: Jun 2008
Posts: 1,318
Received Thanks: 490
|
Ach stimmt, github gibts ja auch noch 
Danke
|
|
|
Similar Threads
|
CO 2 Chit-Chat
04/04/2013 - Conquer Online 2 - 3 Replies
Hello,
You are allowed to talk in this thread about all things belonging to CO2.
It does not matter whether you want to ask something or you just want to talk about CO2.
Posts like "lol" are forbidden!
|
All times are GMT +1. The time now is 21:34.
|
|