Ćwiczenia z C - deklaracja tablic wielowymiarowych.

0

Cześć.

Mam do zrobienia ćwiczenie, w którym muszę wypisać zawartość takich oto tablic:
Kompilator zwraca warningi o braku klamer w tablicach A, C i D.

 
    int A[2][4]={1,2,3,4,5,6};
    int B[][4]={{1,2},{3,4},{5,6,7}};
    int C[][4]={1,2,{3},{4},5,6};
    int D[][4]={{1},{2,3,4},5,6}

Nie wiem czy dobrze rozpoznałem rozmiary, ale zrobiłem tak:

#include <stdio.h>

int main(void){

    //  Zad. nr 1
    int A[2][4]={1,2,3,4,5,6};
    int B[][4]={{1,2},{3,4},{5,6,7}};
    int C[][4]={1,2,{3},{4},5,6};
    int D[][4]={{1},{2,3,4},5,6};
    int i,j;
    printf("A[2][4]={1,2,3,4,5,6};\n");
    for(i=0;i<2;i++){
        printf("Rzad:%d ",i+1);
        for(j=0;j<4;j++)
            printf("%d",A[i][j]);
        printf("\n");
    }
    printf("\nB[][4]={{1,2},{3,4},{5,6,7}};\n");
    for(i=0;i<3;i++){
        printf("Rzad:%d ",i+1);
        for(j=0;j<4;j++)
            printf("%d",B[i][j]);
        printf("\n");
    }
    printf("\nC[][4]={1,2,{3},{4},5,6};\n");
    for(i=0;i<2;i++){
        printf("Rzad:%d ",i+1);
        for(j=0;j<4;j++)
            printf("%d",C[i][j]);
        printf("\n");
    }
    printf("\nD[][4]={{1},{2,3,4},5,6};\n");
    for(i=0;i<3;i++){
        printf("Rzad:%d ",i+1);
        for(j=0;j<4;j++)
            printf("%d",D[i][j]);
        printf("\n");
    }
    printf("\n");
    return 0;
}

Wartość 'j' zawsze musi być mniejsza niż 4 ale czy dobrze rozpoznałem 'i'?

Pozdrawiam
Grzesiek

1

Jest na to dwa sposoby: uniwersalny (dotyczy każdej tablicy zadeklarowanej w aktualnym zakresie) i inteligentny (czyli wystarczyło trochę się zastanowić):
http://ideone.com/GFS8M3

0

Czyli jest ok. W pamięci sobie liczyłem. Dziękuję za odp.

1 użytkowników online, w tym zalogowanych: 0, gości: 1