Új hozzászólás Aktív témák

  • DopeBob

    addikt

    Sziasztok, valaki ránézni, hogy mit rontok el? Nem jövök rá mi a baj. Az is lehet, hogy több sebből vérzik a dolog, egy ismerősnek próbálok segíteni vizsgára készülni, de hát eddig vak vezet világtalant :D Első félében C-vel veszik a kedvüket egy életre a programozástól (gépész ráadásul)

    Egy 2D-s tömböt kéne feltölteni, ez lenne egy feladat eleje. A sorok számát kell bekérni, oszlop szám adott, és utána az értékeket.

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

    #define OPEN_HOURS 5

    int main (void) {
        
        int statDay = 0;
        printf("Hany nap adatait visszuk be? ");
        scanf("%d", &statDay);

        int (*statData)[statDay][OPEN_HOURS]= malloc(sizeof(int[statDay][OPEN_HOURS]));

        for (int i = 0; i<statDay;i++) {
            for (int j = 0; j<OPEN_HOURS;j++) {
                printf("Kerem az %d. nap %d elemet: \n", i,j);
                scanf("%d", &statData[i][j]);
            }
        }

        printf("\nKiiras\n");

        for (int i = 0; i<statDay;i++) {
            printf("%d. nap:\t", i);
            for (int j = 0; j<OPEN_HOURS;j++) {
                printf("(%d;%d) %d\t", i,j, statData[i][j]);
            }
            printf("\n");
        }    

        free(*statData);
        
        return 0;
    }

    Látszólag működik is a dolog, de a tömbben rossz helyre kerülnek az értékek és nem jövök rá miért. Ha pl 0. napra 0, 1, 2... az 1. napra 10, 11, 12-t írok akkor ezt kéne kiírnia:

    0: 0 1 2 3 4
    1: 10 11 12 13 14

    de helyette ez van:

    0. nap: 0       1       2       10      11
    1. nap: 10      11      12      20      21
    2. nap: 20      21      22      23      24

    0. napon 3 és 4 helyett 10 és 11 van, 1. napon 13 és 14 helyett 20 és 21...

Új hozzászólás Aktív témák