Ciąg zamiast tabeli

0
#include <stdio.h>
#define wys 10
#define szer 10
int N, M, y, x;
int tab[wys][szer];

void wypelnij(int M, int N)
{
    for (x = 0; x < M; x++)
        for (y = 0; y < N; y++)
            tab[x][y] = x * y;
}

void wypisz(int M, int N)
{
    for (x = 0; x < M; x++)
        for (y = 0; y < N; y++)
        {
            printf("%5d ", tab[x][y]);
        }
    printf("\n");
}


void zmien_znaki(int M, int N)
{
    for (x = 0; x < M; x++)
        for (y = 0; y < N; y++)
            tab[x][y] = -x * y;
}


int main()
{
    wypelnij(3, 7);
    printf("Zawartość oryginalna:\n");
    wypisz(3, 7);
    zmien_znaki(3, 7);
    printf("Zawartość po zmianie znaków:\n");
    wypisz(3, 7);
    return 0;
}

Dlaczego ten program wypisuje mi liczby ciągiem a nie w tabeli 3x7 ? Z góry dzięki :)

2

Po poprawnym sformatowaniu kodu powinno to być oczywiste: bo po każdej liczbie wypisujesz nową linię.

Swoją drogą: zacznij wreszcie się stosować do Dlaczego nikt nie odpowiada w moim wątku?

0

Teraz kiedy nie wypisuje po każdej liczbie nowej lini wygląda to tak:
0 0 0 0 0 0 0 0 1 2 3 4 5 6 0 2 4 6 8 10 12
a chce uzyskac taki efekt:
0 0 0 0 0 0 0
0 1 2 3 4 5 6
0 2 4 6 8 10 12

PS. Od następnego posta już zastosuję sie do zasad panujących na forum. Przepraszam

2

Wypisuj po każdym rzędzie:

void wypisz(int M, int N)
{
    for (x = 0; x < M; x++){
        for (y = 0; y < N; y++){
            printf("%5d ", tab[x][y]);
        }
        printf("\n");
    }
}

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