/media/sda-magnetic/david/Dokumente-16-2024-08-01/informatikUmathematik/excerpt20240906before/progs2sources20240801/abakus1.c


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

#define MAX_NUM 8192 * 4

void print_abacus (int a [10][20]) {
    int i, j;

    printf ("==========================\n\n");
    for (i = 0;  i < 10;  i++) {
        for (j = 0;  j < 20;  j++) {
            if (a [i][j] == 1)
                printf ("x");
            else
                printf ("_");
        }
        printf ("\n");
    }
    printf ("==========================\n\n");
}

int main(void) {
    int x, y;
    int ch [10];
    time_t t;
    int i, j;
    int a [10][20];
    int r, q;

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


    for (i = 0, y = 0;  i < 10;  i++) {
        printf ("%i + ", x = ((rand () % MAX_NUM) + 1));
        ch [i] = x;
        y += x;
    }
    printf (" = %i\n", y);

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

    print_abacus (a);

    for (i = 0;  i < 10;  i++) {
        r = 10000;

        for (j = 0;  j < 5;  j++) {
            x = (ch [i] / (r)) % 10;

            printf ("%i ", x);

            r = r / 10;
        }
        printf ("\n");
    }
}