Anfänger Problem

02/15/2012 23:36 MrSm!th#31
Quote:
Originally Posted by Nightblizard View Post
Wenn es eine Präprozessordirektive wie "split" gäbe, dann wäre das auch ohne Überladungen machbar. Aber damit habe ich mich nie richtig auseinander gesetzt, desshalb kann ich dazu nicht viel sagen. Vielleicht ist es ja wirklich nicht machbar, aber cool wäre es. :)
Das Problem ist, dass man Makros nicht beliebig viele Parameter übergeben kann.

Ach doch so simpel ist das Makro? Hätte nicht gedacht, dass es so einfach ginge :D

@Java:

Wurde Java nicht in C entwickelt? Bestimmt von Linuxern...immer diese Linuxer, die nicht mit der Zeit gehen wollen und kryptische/unlogische Namen und schlechte Programmierstile als richtig darstellen wollen :<
02/16/2012 08:46 link#32
Mein erstes Semester ist jetzt vorbei und in Informatik hat der Professor leider entschlossen, Java zu lehren, weil der Dreck mittlerweile so weit verbreitet ist..

Ich finde ja diese Fehlermeldungen à la "Public Class Greeter befindet sich nicht in einer Datei namens 'Greeter.java', das muss unbedingt korrigiert werden, sonst crasht das Programm und du wirst dick in den Arsch gepoppt" so toll :)

In der Schule hatte ich kein Informatik, deswegen weiß ich nicht, wie's da ist, aber bei den Übungsblättern an der Uni (praktisch Hausaufgaben) war den Korrektoren der Stil eigentlich egal:

Code:
public class Blatt6
{
    public static int Matrix3x3Multiply(int a[][], int b[][])[][]
    {
        int result[][] = new int[3][3];
        for (int i = 0; i < 3; ++i)
            for (int j = 0; j < 3; ++j)
                result[i][j] = a[i][0] * b[0][j] + a[i][1] * b[1][j] + a[i][2] * b[2][j];
        return result;
    }
    
    public static void Matrix3x3Print(int a[][])
    {
        for (int i = 0; i < 3; ++i)
            for (int j = 0; j < 3; ++j)
                System.out.print((j == 2) ? a[i][j] + "\n" : a[i][j] + " ");
    }
    
    public static void main(String[] args)
    {
        int Matrix1[][] = {
                           { 1, 2, 3},
                           { 4, 5, 6},
                           { 7, 8, 9}
                          };
        
        int Matrix2[][] = {
                           { 1, 2, 3},
                           { 4, 5, 6},
                           { 7, 8, 9}
                          };
 
        Matrix3x3Print(Matrix3x3Multiply(Matrix1, Matrix2));
    }
}
Die eckigen Klammern hinter den runden sind lustig :)
Ich kann es nicht ab, wenn die hinter dem Datentyp (wie in Java (üblicherweise) und C#) und nicht hinter dem Bezeichner stehen..
Ebenso wenn die Klammern nicht in einer eigenen Zeile stehen.

Quote:
Originally Posted by MrSm!th
Leider verpesten die ganzen Oldschool-C-Coder mit ihrem K&R-Style die Programmierwelt, weshalb dieser Stil noch als legitim gilt ;<
Quote:
Originally Posted by MrSm!th
Wurde Java nicht in C entwickelt? Bestimmt von Linuxern...immer diese Linuxer, die nicht mit der Zeit gehen wollen und kryptische/unlogische Namen und schlechte Programmierstile als richtig darstellen wollen :<
Der K&R-Stil sieht vor, die Klammer in eine eigene Zeile zu schreiben, bei Java kommt sie in dieselbe Zeile wie der Header.
02/16/2012 09:23 käsekuchen11elf#33
Quote:
Originally Posted by link View Post
Der K&R-Stil sieht vor, die Klammer in eine eigene Zeile zu schreiben, bei Java kommt sie in dieselbe Zeile wie der Header.
"When adhering to K&R each function has its opening brace at the next line on the same indentation level as its header, the statements within the braces are indented, and the closing brace at the end is on the same indentation level as the header of the function at a line of its own. The blocks inside a function, however, have their opening braces at the same line as their respective control statements; closing braces remain in a line of their own, unless followed by an else or while keyword."

(Quelle: Indent style - Wikipedia, the free encyclopedia)
02/16/2012 10:26 link#34
Ah, ok. Die Klammer kommt bei Statements also immer in dieselbe Zeile, nur beim Einleiten von Funktionen nicht.

Bei Java kommt sie halt konsequent in dieselbe Zeile, deswegen war ich zuerst verwundert und hab mich vertan.
02/16/2012 11:31 MoepMeep#35
Quote:
Originally Posted by link View Post
In der Schule hatte ich kein Informatik, deswegen weiß ich nicht, wie's da ist, aber bei den Übungsblättern an der Uni (praktisch Hausaufgaben) war den Korrektoren der Stil eigentlich egal:
Du glücklicher, bei uns wird auf jede kleinigkeit geachtet ._.