Re: Das neue Auswendig lernen und die neuen Übungen -

\includegraphics[width=\textwidth]{.././nextcloud/aufgabeke2-1.jpg}

\includegraphics[width=\textwidth]{.././nextcloud/aufgabeke2-2.jpg}

\includegraphics[width=\textwidth]{.././nextcloud/aufgabeke2-3.jpg}

\includegraphics[width=\textwidth]{.././nextcloud/aufgabeke2-4.jpg}

\includegraphics[width=\textwidth]{.././nextcloud/aufgabeke2-5.jpg}

\includegraphics[width=\textwidth]{.././nextcloud/aufgabeke2-6.jpg}

\includegraphics[width=\textwidth]{.././nextcloud/aufgabeke2-7.jpg}

\includegraphics[width=\textwidth]{.././nextcloud/aufgabeke2-8.jpg}

\includegraphics[width=\textwidth]{.././nextcloud/aufgabeke2-9.jpg}

Image test-1

Image test2-1

Image test3-1

Image test4-1

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

#define N       12


void generate_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            a [i][j] = rand () % 2;
    }
}

void print_csv_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;

    printf ("%c,", ' ');
    for (i = 0;  i < n-1;  i++)
        printf ("%c,", i + 'a');
    printf ("%cn", i+'a');
    for (i = 0;  i < n;  i++) {
        printf ("%c,", i+'a');
        for (j = 0;  j < n-1;  j++) {
            printf ("%c,", a [i][j] + '0');
        }
        printf ("%cn", a [i][j] + '0');
    }
}

void read_csv_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;
    int ch;

    scanf ("%c,", \&amp;ch);
    for (i = 0;  i < n-1;  i++)  {
        scanf ("%c,", \&amp;ch);
    }
    scanf ("%cn", \&amp;ch);


    for (i = 0;  i < n;  i++) {
        scanf ("%c,", \&amp;ch);
        for (j = 0;  j < n-1; j++) {
            scanf ("%i,", \&amp;ch);
            a [i] [j] = ch;
        }
        scanf ("%in", \&amp;ch);
        a [i] [j] = ch;
    }

}

void convert_csv_adjanzenzmatrix_to_adjazensliste (int a [N][N], int b [N][N], int n) {
    int i, j, k;

    for (i = 0;  i < n;  i++) {
        for (j = 0, k = 0;  j < n;  j++) {
            if (a [i][j] == 1) {
                b [i][k] = j;
                k++;
            }
        }
        for (; k < n;  k++)
            b [i][k] = -1;
    }

}

void convert_csv_adjanzenzliste_to_adjazensmatrix (int a [N][N], int b [N][N], int n) {
    int i, j;

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            a [i][j] = 0;
    }

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            if (b [i][j] != -1)
                a [i][b[i][j]] = 1;
    }

}

void read_csv_adjanzenzliste (int b [N][N], int n) {
    int i, j, k;
    int ch = 0;

    scanf ("%c,", \&amp;ch);
    for (i = 0;  i < n-1;  i++)  {
        scanf ("%c,", \&amp;ch);
    }
    scanf ("%cn", \&amp;ch);

    for (i = 0;  i < n;  i++) {
        scanf ("%c,", \&amp;ch);
        for (j = 0, k = 0;  j < n-1;  j++) {
            scanf ("%c,", \&amp;ch);
            if (ch == ' ')
                b [i][j] = -1;
            else
                b [i][j] = ch - 'a';

        }
        scanf ("%cn", \&amp;ch);
        if (ch == ' ')
            b [i][j] = -1;
        else
            b [i][j] = ch - 'a';
    }
}

void print_csv_adjanzenzliste (int b [N][N], int n) {
    int i, j;
    printf ("%c,", ' ');
    for (i = 0;  i < n-1;  i++)
        printf ("%c,", i + 'a');
    printf ("%cn", i+'a');
    for (i = 0;  i < n;  i++) {
        printf ("%c,", i+'a');
        for (j = 0;  j < n-1;  j++) {
            if (b [i][j] != -1)
                printf ("%c,", b [i][j] + 'a');
            else
                printf (" ,");
        }
        if (b [i][j] != -1)
            printf ("%cn", b [i][j] + 'a');
        else
            printf (" n");
    }

}



void print_tex (int a [N][N]) {
    int i, j;
    int codez = 8;
    printf("\documentclass{article}n");
    printf("\usepackage[utf8]{inputenc}n");
    printf("\usepackage{pgf, tikz}n");
    printf("\usetikzlibrary{arrows , automata , positioning}n");
    printf("\begin{document}nn");


    printf("\begin{center}n");
    printf("\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm]n");
    printf("%Knotenn");

    printf("\node (a) [state, thick] {a};n");
    printf("\node (b) [state, thick, right of= a, below of=a] {b};n");
    printf("\node (c) [state, thick, left of= a, below of=a] {c};n");
    printf("\node (d) [state, thick, right of= b, below of=b] {d};nn");
    printf("\node (e) [state, thick, left of= b, below of=b] {e};nn");
    printf("\node (g) [state, thick, left of=c, below of=c] {g};nn");


    printf("\node (f) [state, thick, below of=d] {f};nn");
    printf("\node (h) [state, thick, below of=e] {h};nn");
    printf("\node (i) [state, thick, below of=g] {i};nn");

    printf("\node (j) [state, thick, below of=f, left of=h] {f};nn");
    printf("\node (k) [state, thick, below of=h, right of=h] {h};nn");
    printf("\node (l) [state, thick, below of=h] {l};nn");


    printf("%Verbindungenn");
    printf("\path[thick,->]n");



    char *leftright [] = {"left", "right"};
    char *abovebelow [] = {"above", "below"};

    for (i = 0;  i < N;  i++) {
        for (j = 0;  j < N; j++) {
            if (a [i] [j] == 1)
                printf ("(%c) edge [bend angle=20, bend left,below] (%c)n", (char)('a' + i), (char)('a' + j));
        }
    }
    printf(";n");
    printf("\end{tikzpicture}n");
    printf("\end{center}n");

    printf("\end{document}n");

}


int main (int argc, char *argv []) {
    time_t t;
    int n = N;
    int a [N][N];
    int b [N][N];



    srand ((unsigned) time (\&amp;t));

    if (argc != 3) {
        printf ("Wrong Parameter!ng: generete generate_adjanzenzmatrixnr: read_csv_adjanzenzmatrixns: read_csv_adjanzenzlistennp: print_csv_adjanzenzmatrixnq: print_csv_adjanzenzliste");
        return 1;
    }
    if (strcmp(argv [1], "r") == 0) {
        read_csv_adjanzenzmatrix (a, n);
        convert_csv_adjanzenzmatrix_to_adjazensliste (a, b, n);
    }
    else if (strcmp (argv [1], "g") == 0) {
        generate_adjanzenzmatrix (a, n);
        convert_csv_adjanzenzmatrix_to_adjazensliste (a, b, n);
    }
    else if (strcmp (argv [1], "s") == 0) {
        read_csv_adjanzenzliste (b, n);
        convert_csv_adjanzenzliste_to_adjazensmatrix (a, b, n);
    }
    else
        printf ("Wrong Parameter!ng: generete generate_adjanzenzmatrixnr: read_csv_adjanzenzmatrixns: read_csv_adjanzenzlistennp: print_csv_adjanzenzmatrixnq: print_csv_adjanzenzliste");

    if (strcmp (argv [2], "p") == 0)
        print_csv_adjanzenzmatrix (a, n);
    else if (strcmp (argv [2], "q") == 0)
        print_csv_adjanzenzliste (b, n);
    else if (strcmp (argv [2], "t") == 0)
        print_tex (a);


return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

#define N       12


void generate_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            a [i][j] = rand () % 2;
    }
}

void print_csv_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;

    printf ("%c,", ' ');
    for (i = 0;  i < n-1;  i++)
        printf ("%c,", i + 'a');
    printf ("%cn", i+'a');
    for (i = 0;  i < n;  i++) {
        printf ("%c,", i+'a');
        for (j = 0;  j < n-1;  j++) {
            printf ("%c,", a [i][j] + '0');
        }
        printf ("%cn", a [i][j] + '0');
    }
}

void read_csv_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;
    int ch;

    scanf ("%c,", \&amp;ch);
    for (i = 0;  i < n-1;  i++)  {
        scanf ("%c,", \&amp;ch);
    }
    scanf ("%cn", \&amp;ch);


    for (i = 0;  i < n;  i++) {
        scanf ("%c,", \&amp;ch);
        for (j = 0;  j < n-1; j++) {
            scanf ("%i,", \&amp;ch);
            a [i] [j] = ch;
        }
        scanf ("%in", \&amp;ch);
        a [i] [j] = ch;
    }

}

void convert_csv_adjanzenzmatrix_to_adjazensliste (int a [N][N], int b [N][N], int n) {
    int i, j, k;

    for (i = 0;  i < n;  i++) {
        for (j = 0, k = 0;  j < n;  j++) {
            if (a [i][j] == 1) {
                b [i][k] = j;
                k++;
            }
        }
        for (; k < n;  k++)
            b [i][k] = -1;
    }

}

void convert_csv_adjanzenzliste_to_adjazensmatrix (int a [N][N], int b [N][N], int n) {
    int i, j;

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            a [i][j] = 0;
    }

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            if (b [i][j] != -1)
                a [i][b[i][j]] = 1;
    }

}

void read_csv_adjanzenzliste (int b [N][N], int n) {
    int i, j, k;
    int ch = 0;

    scanf ("%c,", \&amp;ch);
    for (i = 0;  i < n-1;  i++)  {
        scanf ("%c,", \&amp;ch);
    }
    scanf ("%cn", \&amp;ch);

    for (i = 0;  i < n;  i++) {
        scanf ("%c,", \&amp;ch);
        for (j = 0, k = 0;  j < n-1;  j++) {
            scanf ("%c,", \&amp;ch);
            if (ch == ' ')
                b [i][j] = -1;
            else
                b [i][j] = ch - 'a';

        }
        scanf ("%cn", \&amp;ch);
        if (ch == ' ')
            b [i][j] = -1;
        else
            b [i][j] = ch - 'a';
    }
}

void print_csv_adjanzenzliste (int b [N][N], int n) {
    int i, j;
    printf ("%c,", ' ');
    for (i = 0;  i < n-1;  i++)
        printf ("%c,", i + 'a');
    printf ("%cn", i+'a');
    for (i = 0;  i < n;  i++) {
        printf ("%c,", i+'a');
        for (j = 0;  j < n-1;  j++) {
            if (b [i][j] != -1)
                printf ("%c,", b [i][j] + 'a');
            else
                printf (" ,");
        }
        if (b [i][j] != -1)
            printf ("%cn", b [i][j] + 'a');
        else
            printf (" n");
    }

}



void print_tex (int a [N][N]) {
    int i, j;
    int codez = 8;
    printf("\documentclass{article}n");
    printf("\usepackage[utf8]{inputenc}n");
    printf("\usepackage{pgf, tikz}n");
    printf("\usetikzlibrary{arrows , automata , positioning}n");
    printf("\begin{document}nn");


    printf("\begin{center}n");
    printf("\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm]n");
    printf("%Knotenn");

    printf("\node (a) [state, thick] {a};n");
    printf("\node (b) [state, thick, right of= a, below of=a] {b};n");
    printf("\node (c) [state, thick, left of= a, below of=a] {c};n");
    printf("\node (d) [state, thick, below of=b, right of=b] {d};nn");
    printf("\node (e) [state, thick, below of=c, left of=c] {e};nn");

    printf("\node (g) [state, thick, below of=d] {g};nn");
    printf("\node (f) [state, thick, below of=e] {f};nn");

    printf("\node (h) [state, thick, below of=g] {h};nn");
    printf("\node (i) [state, thick, below of=f] {i};nn");

    printf("\node (j) [state, thick, below of=h, right of=i] {j};nn");
    printf("\node (k) [state, thick, right of=j] {k};nn");
    printf("\node (l) [state, thick, right of=k] {l};nn");


    printf("%Verbindungenn");
    printf("\path[thick,->]n");



    char *leftright [] = {"left", "right"};
    char *abovebelow [] = {"above", "below"};

    for (i = 0;  i < N;  i++) {
        for (j = 0;  j < N; j++) {
            if (a [i] [j] == 1)
                printf ("(%c) edge [bend angle=20, bend left,below] (%c)n", (char)('a' + i), (char)('a' + j));
        }
    }
    printf(";n");
    printf("\end{tikzpicture}n");
    printf("\end{center}n");

    printf("\end{document}n");

}


int main (int argc, char *argv []) {
    time_t t;
    int n = N;
    int a [N][N];
    int b [N][N];



    srand ((unsigned) time (\&amp;t));

    if (argc != 3) {
        printf ("Wrong Parameter!ng: generete generate_adjanzenzmatrixnr: read_csv_adjanzenzmatrixns: read_csv_adjanzenzlistennp: print_csv_adjanzenzmatrixnq: print_csv_adjanzenzliste");
        return 1;
    }
    if (strcmp(argv [1], "r") == 0) {
        read_csv_adjanzenzmatrix (a, n);
        convert_csv_adjanzenzmatrix_to_adjazensliste (a, b, n);
    }
    else if (strcmp (argv [1], "g") == 0) {
        generate_adjanzenzmatrix (a, n);
        convert_csv_adjanzenzmatrix_to_adjazensliste (a, b, n);
    }
    else if (strcmp (argv [1], "s") == 0) {
        read_csv_adjanzenzliste (b, n);
        convert_csv_adjanzenzliste_to_adjazensmatrix (a, b, n);
    }
    else
        printf ("Wrong Parameter!ng: generete generate_adjanzenzmatrixnr: read_csv_adjanzenzmatrixns: read_csv_adjanzenzlistennp: print_csv_adjanzenzmatrixnq: print_csv_adjanzenzliste");

    if (strcmp (argv [2], "p") == 0)
        print_csv_adjanzenzmatrix (a, n);
    else if (strcmp (argv [2], "q") == 0)
        print_csv_adjanzenzliste (b, n);
    else if (strcmp (argv [2], "t") == 0)
        print_tex (a);


return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

#define N       7


void generate_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            a [i][j] = rand () % 2;
    }
}

void print_csv_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;

    printf ("%c,", ' ');
    for (i = 0;  i < n-1;  i++)
        printf ("%c,", i + 'a');
    printf ("%cn", i+'a');
    for (i = 0;  i < n;  i++) {
        printf ("%c,", i+'a');
        for (j = 0;  j < n-1;  j++) {
            printf ("%c,", a [i][j] + '0');
        }
        printf ("%cn", a [i][j] + '0');
    }
}

void read_csv_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;
    int ch;

    scanf ("%c,", \&amp;ch);
    for (i = 0;  i < n-1;  i++)  {
        scanf ("%c,", \&amp;ch);
    }
    scanf ("%cn", \&amp;ch);


    for (i = 0;  i < n;  i++) {
        scanf ("%c,", \&amp;ch);
        for (j = 0;  j < n-1; j++) {
            scanf ("%i,", \&amp;ch);
            a [i] [j] = ch;
        }
        scanf ("%in", \&amp;ch);
        a [i] [j] = ch;
    }

}

void convert_csv_adjanzenzmatrix_to_adjazensliste (int a [N][N], int b [N][N], int n) {
    int i, j, k;

    for (i = 0;  i < n;  i++) {
        for (j = 0, k = 0;  j < n;  j++) {
            if (a [i][j] == 1) {
                b [i][k] = j;
                k++;
            }
        }
        for (; k < n;  k++)
            b [i][k] = -1;
    }

}

void convert_csv_adjanzenzliste_to_adjazensmatrix (int a [N][N], int b [N][N], int n) {
    int i, j;

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            a [i][j] = 0;
    }

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            if (b [i][j] != -1)
                a [i][b[i][j]] = 1;
    }

}

void read_csv_adjanzenzliste (int b [N][N], int n) {
    int i, j, k;
    int ch = 0;

    scanf ("%c,", \&amp;ch);
    for (i = 0;  i < n-1;  i++)  {
        scanf ("%c,", \&amp;ch);
    }
    scanf ("%cn", \&amp;ch);

    for (i = 0;  i < n;  i++) {
        scanf ("%c,", \&amp;ch);
        for (j = 0, k = 0;  j < n-1;  j++) {
            scanf ("%c,", \&amp;ch);
            if (ch == ' ')
                b [i][j] = -1;
            else
                b [i][j] = ch - 'a';

        }
        scanf ("%cn", \&amp;ch);
        if (ch == ' ')
            b [i][j] = -1;
        else
            b [i][j] = ch - 'a';
    }
}

void print_csv_adjanzenzliste (int b [N][N], int n) {
    int i, j;
    printf ("%c,", ' ');
    for (i = 0;  i < n-1;  i++)
        printf ("%c,", i + 'a');
    printf ("%cn", i+'a');
    for (i = 0;  i < n;  i++) {
        printf ("%c,", i+'a');
        for (j = 0;  j < n-1;  j++) {
            if (b [i][j] != -1)
                printf ("%c,", b [i][j] + 'a');
            else
                printf (" ,");
        }
        if (b [i][j] != -1)
            printf ("%cn", b [i][j] + 'a');
        else
            printf (" n");
    }

}



void print_tex (int a [N][N]) {
    int i, j;
    int codez = 8;
    printf("\documentclass{article}n");
    printf("\usepackage[utf8]{inputenc}n");
    printf("\usepackage{pgf, tikz}n");
    printf("\usetikzlibrary{arrows , automata , positioning}n");
    printf("\begin{document}nn");


    printf("\begin{center}n");
    printf("\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm]n");
    printf("%Knotenn");

    printf("\node (a) [state, thick] {a};n");
    printf("\node (b) [state, thick, right of= a, below of=a] {b};n");
    printf("\node (c) [state, thick, left of= a, below of=a] {c};n");
    printf("\node (d) [state, thick, below of=b, right of=b] {d};nn");
    printf("\node (e) [state, thick, below of=c, left of=c] {e};nn");

    printf("\node (g) [state, thick, below of=d, left of=d] {g};nn");
    printf("\node (f) [state, thick, below of=e, right of=e] {f};nn");

    printf("%Verbindungenn");
    printf("\path[thick,->]n");



    char *leftright [] = {"left", "right"};
    char *abovebelow [] = {"above", "below"};

    for (i = 0;  i < N;  i++) {
        for (j = 0;  j < N; j++) {
            if (a [i] [j] == 1)
                printf ("(%c) edge [bend angle=20, bend left,below] (%c)n", (char)('a' + i), (char)('a' + j));
        }
    }
    printf(";n");
    printf("\end{tikzpicture}n");
    printf("\end{center}n");

    printf("\end{document}n");

}


int main (int argc, char *argv []) {
    time_t t;
    int n = N;
    int a [N][N];
    int b [N][N];



    srand ((unsigned) time (\&amp;t));

    if (argc != 3) {
        printf ("Wrong Parameter!ng: generete generate_adjanzenzmatrixnr: read_csv_adjanzenzmatrixns: read_csv_adjanzenzlistennp: print_csv_adjanzenzmatrixnq: print_csv_adjanzenzliste");
        return 1;
    }
    if (strcmp(argv [1], "r") == 0) {
        read_csv_adjanzenzmatrix (a, n);
        convert_csv_adjanzenzmatrix_to_adjazensliste (a, b, n);
    }
    else if (strcmp (argv [1], "g") == 0) {
        generate_adjanzenzmatrix (a, n);
        convert_csv_adjanzenzmatrix_to_adjazensliste (a, b, n);
    }
    else if (strcmp (argv [1], "s") == 0) {
        read_csv_adjanzenzliste (b, n);
        convert_csv_adjanzenzliste_to_adjazensmatrix (a, b, n);
    }
    else
        printf ("Wrong Parameter!ng: generete generate_adjanzenzmatrixnr: read_csv_adjanzenzmatrixns: read_csv_adjanzenzlistennp: print_csv_adjanzenzmatrixnq: print_csv_adjanzenzliste");

    if (strcmp (argv [2], "p") == 0)
        print_csv_adjanzenzmatrix (a, n);
    else if (strcmp (argv [2], "q") == 0)
        print_csv_adjanzenzliste (b, n);
    else if (strcmp (argv [2], "t") == 0)
        print_tex (a);


return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

#define N       7


int Q [1024];
int Qtop = 0;
int Qbottom = 0;

void Qput (int v) {
    Q [Qtop] = v;
    Qtop ++;
}

int Qget (void) {
    int v = Q [Qbottom];
    Qbottom++;
return v;
}

int QIsNotEmpty () {
    return (Qbottom < Qtop);
}


void breadth_first_search (int a [N][N], int *component, int r) {
    int pred [1024];
    int w, v;
    int i = 0;



    for (i = 0;  i < 1024;  i++) {
        pred [i] = -1;
        component [i] = -1;
    }

    pred [r] = r;
    component [r] = r;
    Qput (r);
    while (QIsNotEmpty ()) {
        v = Qget ();
        printf ("%cn", v + 'a');
        for (w = 0; w < N;  w++) {
            if (a [v][w]) {
                if (pred [w] == -1) {
                    pred [w] = v;
                    component [w] = component [v];
                    Qput (w);
                }
            }
        }
    }

}

int _bfs (int a [N][N], int marked [N], int r) {
    int i;
    int retv;

    if (marked [r] == -1) {
        marked [r] = 1;
        for (i = 0;  i < N;  i++)
            if(retv = _bfs (a, marked, a [r][i]))
                printf ("%c", r+'a');
        return retv;
    }

return 0;
}


void bfs (int a [N][N], int r) {
    int i;
    int marked [N];

    for (i = 0;  i < N;  i++)
        marked [i] = -1;
    _bfs (a, marked, r);
}


void generate_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++) {
            a [i][j] = -1;
        }
    }


    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++) {
            if ((a [i][j] == -1) \&amp;\&amp; (a [j][i] == -1)) {
                a[j][i] = a [i][j] = rand () % 2;
            }
        }
    }
}

void print_csv_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;

    printf ("%c,", ' ');
    for (i = 0;  i < n-1;  i++)
        printf ("%c,", i + 'a');
    printf ("%cn", i+'a');
    for (i = 0;  i < n;  i++) {
        printf ("%c,", i+'a');
        for (j = 0;  j < n-1;  j++) {
            printf ("%c,", a [i][j] + '0');
        }
        printf ("%cn", a [i][j] + '0');
    }
}

void read_csv_adjanzenzmatrix (int a [N][N], int n) {
    int i, j;
    int ch;

    scanf ("%c,", \&amp;ch);
    for (i = 0;  i < n-1;  i++)  {
        scanf ("%c,", \&amp;ch);
    }
    scanf ("%cn", \&amp;ch);


    for (i = 0;  i < n;  i++) {
        scanf ("%c,", \&amp;ch);
        for (j = 0;  j < n-1; j++) {
            scanf ("%i,", \&amp;ch);
            a [i] [j] = ch;
        }
        scanf ("%in", \&amp;ch);
        a [i] [j] = ch;
    }

}

void convert_csv_adjanzenzmatrix_to_adjazensliste (int a [N][N], int b [N][N], int n) {
    int i, j, k;

    for (i = 0;  i < n;  i++) {
        for (j = 0, k = 0;  j < n;  j++) {
            if (a [i][j] == 1) {
                b [i][k] = j;
                k++;
            }
        }
        for (; k < n;  k++)
            b [i][k] = -1;
    }

}

void convert_csv_adjanzenzliste_to_adjazensmatrix (int a [N][N], int b [N][N], int n) {
    int i, j;

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            a [i][j] = 0;
    }

    for (i = 0;  i < n;  i++) {
        for (j = 0;  j < n;  j++)
            if (b [i][j] != -1)
                a [i][b[i][j]] = 1;
    }

}

void read_csv_adjanzenzliste (int b [N][N], int n) {
    int i, j, k;
    int ch = 0;

    scanf ("%c,", \&amp;ch);
    for (i = 0;  i < n-1;  i++)  {
        scanf ("%c,", \&amp;ch);
    }
    scanf ("%cn", \&amp;ch);

    for (i = 0;  i < n;  i++) {
        scanf ("%c,", \&amp;ch);
        for (j = 0, k = 0;  j < n-1;  j++) {
            scanf ("%c,", \&amp;ch);
            if (ch == ' ')
                b [i][j] = -1;
            else
                b [i][j] = ch - 'a';

        }
        scanf ("%cn", \&amp;ch);
        if (ch == ' ')
            b [i][j] = -1;
        else
            b [i][j] = ch - 'a';
    }
}

void print_csv_adjanzenzliste (int b [N][N], int n) {
    int i, j;
    printf ("%c,", ' ');
    for (i = 0;  i < n-1;  i++)
        printf ("%c,", i + 'a');
    printf ("%cn", i+'a');
    for (i = 0;  i < n;  i++) {
        printf ("%c,", i+'a');
        for (j = 0;  j < n-1;  j++) {
            if (b [i][j] != -1)
                printf ("%c,", b [i][j] + 'a');
            else
                printf (" ,");
        }
        if (b [i][j] != -1)
            printf ("%cn", b [i][j] + 'a');
        else
            printf (" n");
    }

}



void print_tex (int a [N][N], int component [1024]) {
    int i, j;
    int codez = 8;
    printf("\documentclass{article}n");
    printf("\usepackage[utf8]{inputenc}n");
    printf("\usepackage{pgf, tikz}n");
    printf("\usetikzlibrary{arrows , automata , positioning}n");
    printf("\begin{document}nn");


    printf("\begin{center}n");
    printf("\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm]n");
    printf("%Knotenn");

    printf("\node (a) [state, thick] {a};n");
    printf("\node (b) [state, thick, right of= a, below of=a] {b};n");
    printf("\node (c) [state, thick, left of= a, below of=a] {c};n");
    printf("\node (d) [state, thick, below of=b, right of=b] {d};nn");
    printf("\node (e) [state, thick, below of=c, left of=c] {e};nn");

    printf("\node (g) [state, thick, below of=d, left of=d] {g};nn");
    printf("\node (f) [state, thick, below of=e, right of=e] {f};nn");

    printf("%Verbindungenn");
    printf("\path[thick,->]n");



    char *leftright [] = {"left", "right"};
    char *abovebelow [] = {"above", "below"};

    for (i = 0;  i < N;  i++) {
        for (j = 0;  j < N; j++) {
            if (a [i] [j] == 1)
                printf ("(%c) edge [bend angle=20, bend left,below] (%c)n", (char)('a' + i), (char)('a' + j));
        }
    }
    for (i = 0;  i < N-1;  i++)
        printf ("(%c) edge [bend angle=20, bend left,below, style thick] (%c)n", component [i] + 'a', component [i+1] + 'a');
    printf(";n");
    printf("\end{tikzpicture}n");
    printf("\end{center}n");
    printf("\end{document}n");

}


int main (int argc, char *argv []) {
    time_t t;
    int n = N;
    int a [N][N];
    int b [N][N];
    int component [1024];



    srand ((unsigned) time (\&amp;t));

    if (argc != 3) {
        printf ("Wrong Parameter!ng: generete generate_adjanzenzmatrixnr: read_csv_adjanzenzmatrixns: read_csv_adjanzenzlistennp: print_csv_adjanzenzmatrixnq: print_csv_adjanzenzliste");
        return 1;
    }
    if (strcmp(argv [1], "r") == 0) {
        read_csv_adjanzenzmatrix (a, n);
        convert_csv_adjanzenzmatrix_to_adjazensliste (a, b, n);
    }
    else if (strcmp (argv [1], "g") == 0) {
        generate_adjanzenzmatrix (a, n);
        convert_csv_adjanzenzmatrix_to_adjazensliste (a, b, n);
    }
    else if (strcmp (argv [1], "s") == 0) {
        read_csv_adjanzenzliste (b, n);
        convert_csv_adjanzenzliste_to_adjazensmatrix (a, b, n);
    }
    else
        printf ("Wrong Parameter!ng: generete generate_adjanzenzmatrixnr: read_csv_adjanzenzmatrixns: read_csv_adjanzenzlistennp: print_csv_adjanzenzmatrixnq: print_csv_adjanzenzliste");

    bfs (a, 0);
    if (strcmp (argv [2], "p") == 0)
        print_csv_adjanzenzmatrix (a, n);
    else if (strcmp (argv [2], "q") == 0)
        print_csv_adjanzenzliste (b, n);
    else if (strcmp (argv [2], "t") == 0)
        print_tex (a, component);



return 0;
}

documentclass{article}
usepackage[utf8]{inputenc}
usepackage{pgf, tikz}
usetikzlibrary{arrows , automata , positioning}
begin{document}

begin{center}
begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm]
%Knoten
node (a) [state, thick] {a};
node (b) [state, thick, right of= a, below of=a] {b};
node (c) [state, thick, left of= a, below of=a] {c};
node (d) [state, thick, below of=b, right of=b] {d};

node (e) [state, thick, below of=c, left of=c] {e};

node (g) [state, thick, below of=d, left of=d] {g};

node (f) [state, thick, below of=e, right of=e] {f};

%Verbindungen
path[thick,->]
(a) edge [bend angle=20, bend left,below] (c)
(a) edge [bend angle=20, bend left,below] (d)
(a) edge [bend angle=20, bend left,below] (e)
(a) edge [bend angle=20, bend left,below] (g)
(b) edge [bend angle=20, bend left,below] (c)
(b) edge [bend angle=20, bend left,below] (d)
(b) edge [bend angle=20, bend left,below] (g)
(c) edge [bend angle=20, bend left,below] (a)
(c) edge [bend angle=20, bend left,below] (b)
(c) edge [bend angle=20, bend left,below] (e)
(c) edge [bend angle=20, bend left,below] (f)
(d) edge [bend angle=20, bend left,below] (a)
(d) edge [bend angle=20, bend left,below] (d)
(d) edge [bend angle=20, bend left,below] (f)
(e) edge [bend angle=20, bend left,below] (a)
(e) edge [bend angle=20, bend left,below] (d)
(e) edge [bend angle=20, bend left,below] (f)
(f) edge [bend angle=20, bend left,below] (a)
(f) edge [bend angle=20, bend left,below] (b)
(f) edge [bend angle=20, bend left,below] (c)
(f) edge [bend angle=20, bend left,below] (e)
(f) edge [bend angle=20, bend left,below] (g)
(g) edge [bend angle=20, bend left,below] (a)
(g) edge [bend angle=20, bend left,below] (b)
(g) edge [bend angle=20, bend left,below] (d)
(g) edge [bend angle=20, bend left,below] (f)
(g) edge [bend angle=20, bend left,below] (g)
;
end{tikzpicture}
end{center}
end{document}

documentclass{article}
usepackage[utf8]{inputenc}
usepackage{pgf, tikz}
usetikzlibrary{arrows , automata , positioning}
begin{document}

begin{center}
begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm]
%Knoten
node (a) [state, thick] {a};
node (b) [state, thick, right of= a, below of=a] {b};
node (c) [state, thick, left of= a, below of=a] {c};
node (d) [state, thick, right of= b, below of=b] {d};

node (e) [state, thick, left of= b, below of=b] {e};

node (g) [state, thick, left of=c, below of=c] {g};

node (f) [state, thick, below of=d] {f};

node (h) [state, thick, below of=e] {h};

node (i) [state, thick, below of=g] {i};

node (j) [state, thick, below of=f, left of=h] {f};

node (k) [state, thick, below of=h, right of=h] {h};

node (l) [state, thick, below of=h] {l};

%Verbindungen
path[thick,->]
(a) edge [bend angle=20] (f)
(a) edge [bend angle=20] (g)
(a) edge [bend angle=20] (i)
(a) edge [bend angle=20] (k)
(a) edge [bend angle=20] (l)
(b) edge [bend angle=20] (c)
(b) edge [bend angle=20] (d)
(b) edge [bend angle=20] (e)
(b) edge [bend angle=20] (f)
(b) edge [bend angle=20] (h)
(b) edge [bend angle=20] (k)
(b) edge [bend angle=20] (l)
(c) edge [bend angle=20] (a)
(c) edge [bend angle=20] (b)
(c) edge [bend angle=20] (c)
(c) edge [bend angle=20] (h)
(c) edge [bend angle=20] (k)
(c) edge [bend angle=20] (l)
(d) edge [bend angle=20] (b)
(d) edge [bend angle=20] (c)
(d) edge [bend angle=20] (d)
(d) edge [bend angle=20] (e)
(d) edge [bend angle=20] (h)
(d) edge [bend angle=20] (l)
(e) edge [bend angle=20] (a)
(e) edge [bend angle=20] (b)
(e) edge [bend angle=20] (d)
(e) edge [bend angle=20] (e)
(e) edge [bend angle=20] (f)
(e) edge [bend angle=20] (g)
(e) edge [bend angle=20] (h)
(e) edge [bend angle=20] (k)
(e) edge [bend angle=20] (l)
(f) edge [bend angle=20] (b)
(f) edge [bend angle=20] (e)
(f) edge [bend angle=20] (f)
(f) edge [bend angle=20] (g)
(f) edge [bend angle=20] (h)
(f) edge [bend angle=20] (l)
(g) edge [bend angle=20] (b)
(g) edge [bend angle=20] (e)
(g) edge [bend angle=20] (f)
(g) edge [bend angle=20] (k)
(g) edge [bend angle=20] (l)
(h) edge [bend angle=20] (f)
(h) edge [bend angle=20] (g)
(h) edge [bend angle=20] (j)
(h) edge [bend angle=20] (k)
(i) edge [bend angle=20] (a)
(i) edge [bend angle=20] (c)
(i) edge [bend angle=20] (d)
(i) edge [bend angle=20] (e)
(i) edge [bend angle=20] (g)
(i) edge [bend angle=20] (h)
(i) edge [bend angle=20] (i)
(i) edge [bend angle=20] (j)
(j) edge [bend angle=20] (f)
(j) edge [bend angle=20] (k)
(k) edge [bend angle=20] (c)
(k) edge [bend angle=20] (h)
(k) edge [bend angle=20] (l)
(l) edge [bend angle=20] (b)
(l) edge [bend angle=20] (c)
(l) edge [bend angle=20] (d)
(l) edge [bend angle=20] (e)
(l) edge [bend angle=20] (f)
(l) edge [bend angle=20] (g)
(l) edge [bend angle=20] (h)
(l) edge [bend angle=20] (i)
(l) edge [bend angle=20] (j)
(l) edge [bend angle=20] (l)
;
end{tikzpicture}
end{center}
end{document}

documentclass{article}
usepackage[utf8]{inputenc}
usepackage{pgf, tikz}
usetikzlibrary{arrows , automata , positioning}
begin{document}

begin{center}
begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm]
%Knoten
node (a) [state, thick] {a};
node (b) [state, thick, right of= a, below of=a] {b};
node (c) [state, thick, left of= a, below of=a] {c};
node (d) [state, thick, below of=b, right of=b] {d};

node (e) [state, thick, below of=c, left of=c] {e};

node (g) [state, thick, below of=d, left of=d] {g};

node (f) [state, thick, below of=e, right of=e] {f};

%Verbindungen
path[thick,->]
(a) edge [bend angle=20, bend left,below] (a)
(a) edge [bend angle=20, bend left,below] (d)
(a) edge [bend angle=20, bend left,below] (f)
(a) edge [bend angle=20, bend left,below] (g)
(b) edge [bend angle=20, bend left,below] (a)
(b) edge [bend angle=20, bend left,below] (b)
(b) edge [bend angle=20, bend left,below] (c)
(c) edge [bend angle=20, bend left,below] (b)
(c) edge [bend angle=20, bend left,below] (d)
(c) edge [bend angle=20, bend left,below] (e)
(c) edge [bend angle=20, bend left,below] (g)
(d) edge [bend angle=20, bend left,below] (a)
(d) edge [bend angle=20, bend left,below] (b)
(d) edge [bend angle=20, bend left,below] (c)
(d) edge [bend angle=20, bend left,below] (f)
(d) edge [bend angle=20, bend left,below] (g)
(e) edge [bend angle=20, bend left,below] (a)
(e) edge [bend angle=20, bend left,below] (c)
(e) edge [bend angle=20, bend left,below] (f)
(e) edge [bend angle=20, bend left,below] (g)
(f) edge [bend angle=20, bend left,below] (d)
(f) edge [bend angle=20, bend left,below] (f)
(f) edge [bend angle=20, bend left,below] (g)
(g) edge [bend angle=20, bend left,below] (b)
(g) edge [bend angle=20, bend left,below] (c)
(g) edge [bend angle=20, bend left,below] (e)
(g) edge [bend angle=20, bend left,below] (g)
;
end{tikzpicture}
end{center}
end{document}
3
5
6
1
2
4
a, `, `, `, `, `, `,

documentclass{article}
usepackage[utf8]{inputenc}
usepackage{pgf, tikz}
usetikzlibrary{arrows , automata , positioning}
begin{document}

begin{center}
begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm]
%Knoten
node (a) [state, thick] {a};
node (b) [state, thick, right of= a, below of=a] {b};
node (c) [state, thick, left of= a, below of=a] {c};
node (d) [state, thick, below of=b, right of=b] {d};

node (e) [state, thick, below of=c, left of=c] {e};

node (g) [state, thick, below of=d, left of=d] {g};

node (f) [state, thick, below of=e, right of=e] {f};

%Verbindungen
path[thick,->]
(a) edge [bend angle=20, bend left,below] (b)
(a) edge [bend angle=20, bend left,below] (c)
(a) edge [bend angle=20, bend left,below] (d)
(b) edge [bend angle=20, bend left,below] (b)
(b) edge [bend angle=20, bend left,below] (d)
(b) edge [bend angle=20, bend left,below] (e)
(b) edge [bend angle=20, bend left,below] (f)
(c) edge [bend angle=20, bend left,below] (a)
(c) edge [bend angle=20, bend left,below] (d)
(c) edge [bend angle=20, bend left,below] (e)
(c) edge [bend angle=20, bend left,below] (f)
(d) edge [bend angle=20, bend left,below] (a)
(d) edge [bend angle=20, bend left,below] (b)
(d) edge [bend angle=20, bend left,below] (f)
(d) edge [bend angle=20, bend left,below] (g)
(e) edge [bend angle=20, bend left,below] (a)
(e) edge [bend angle=20, bend left,below] (b)
(e) edge [bend angle=20, bend left,below] (c)
(e) edge [bend angle=20, bend left,below] (d)
(e) edge [bend angle=20, bend left,below] (e)
(e) edge [bend angle=20, bend left,below] (f)
(f) edge [bend angle=20, bend left,below] (a)
(f) edge [bend angle=20, bend left,below] (b)
(f) edge [bend angle=20, bend left,below] (d)
(f) edge [bend angle=20, bend left,below] (f)
(g) edge [bend angle=20, bend left,below] (a)
(g) edge [bend angle=20, bend left,below] (c)
(g) edge [bend angle=20, bend left,below] (d)
(g) edge [bend angle=20, bend left,below] (e)
(g) edge [bend angle=20, bend left,below] (f)
;
end{tikzpicture}
end{center}
end{document}
1
2
3
4
5
6
a, `, `, `, `, `, `,

2
4
5
6
3
documentclass{article}
usepackage[utf8]{inputenc}
usepackage{pgf, tikz}
usetikzlibrary{arrows , automata , positioning}
begin{document}

begin{center}
begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm]
%Knoten
node (a) [state, thick] {a};
node (b) [state, thick, right of= a, below of=a] {b};
node (c) [state, thick, left of= a, below of=a] {c};
node (d) [state, thick, below of=b, right of=b] {d};

node (e) [state, thick, below of=c, left of=c] {e};

node (g) [state, thick, below of=d, left of=d] {g};

node (f) [state, thick, below of=e, right of=e] {f};

%Verbindungen
path[thick,->]
(a) edge [bend angle=20, bend left,below] (c)
(a) edge [bend angle=20, bend left,below] (e)
(a) edge [bend angle=20, bend left,below] (f)
(a) edge [bend angle=20, bend left,below] (g)
(b) edge [bend angle=20, bend left,below] (a)
(b) edge [bend angle=20, bend left,below] (d)
(b) edge [bend angle=20, bend left,below] (f)
(b) edge [bend angle=20, bend left,below] (g)
(c) edge [bend angle=20, bend left,below] (c)
(c) edge [bend angle=20, bend left,below] (g)
(d) edge [bend angle=20, bend left,below] (d)
(d) edge [bend angle=20, bend left,below] (e)
(d) edge [bend angle=20, bend left,below] (f)
(e) edge [bend angle=20, bend left,below] (a)
(e) edge [bend angle=20, bend left,below] (c)
(e) edge [bend angle=20, bend left,below] (d)
(e) edge [bend angle=20, bend left,below] (e)
(e) edge [bend angle=20, bend left,below] (f)
(e) edge [bend angle=20, bend left,below] (g)
(f) edge [bend angle=20, bend left,below] (c)
(f) edge [bend angle=20, bend left,below] (d)
(f) edge [bend angle=20, bend left,below] (e)
(f) edge [bend angle=20, bend left,below] (f)
(g) edge [bend angle=20, bend left,below] (a)
(g) edge [bend angle=20, bend left,below] (c)
(g) edge [bend angle=20, bend left,below] (d)
(g) edge [bend angle=20, bend left,below] (e)
(g) edge [bend angle=20, bend left,below] (f)
(g) edge [bend angle=20, bend left,below] (g)
(a) edge [bend angle=20, bend left,below, style thick] (`)
(`) edge [bend angle=20, bend left,below, style thick] (`)
(`) edge [bend angle=20, bend left,below, style thick] (`)
(`) edge [bend angle=20, bend left,below, style thick] (`)
(`) edge [bend angle=20, bend left,below, style thick] (`)
(`) edge [bend angle=20, bend left,below, style thick] (`)
;
end{tikzpicture}
end{center}
end{document}