Wyświetlanie tablicy dwuwymiarowej

0
#include <stdio.h>
#define M a;//liczba wierszy
#define N b;//liczba kolumn
int main(void) {
printf("Zadanie 1\n");
int a,b;
printf("Podaj liczbę wierszy.\n");
scanf("%d",&a);
printf("Podaj liczbę kolumn.\n");
scanf("%d",&b);
while (a>0 && a%2==0 && b>0 && b%2==0)
{
int tab[a][b];
printf("%d",&tab[a][b]);
}
printf("Podano błędne dane. Wprowadź liczby większe od zera.\n");
return 0;
}

Co mam wpisać zamiast printf("%d",&tab[a][b]), żeby wyświetlić tablicę? Na razie same wiersze i kolumny, bez wartości w środku.
I drugie pytanie - dlaczego jak wpisuję poprawne dane, i w pętli while cokolwiek, to mi się wypisują one w nieskończoność? Uczyli nas, że jeśli warunek jest spełniony, to idzie w instrukcjach dopóki jest spełniony a jeśli są błędne dane, to wykonuje instrukcję spoza pętli. I jak wypełnić w tej samej tablicy pola losowymi wartościami z przedziału od 0 do 10, bo głowię się i nic nie mogę wymyślić?

Mam nadzieję, że to już poprawna kategoria forum.

0

Podaj treść zadania, bo nie wiem, co Chcesz zrobić; a to co powyżej jest bez sensu, deklaracja tablicy w pętli, warunek na liczby, a i b, które nie są wykorzystywane, nie Wypełaniasz tej tablicy danymi.
Jeśli chodzi o pytanie o wartości losowe z przedziału, to STFW:
https://www.geeksforgeeks.org/generating-random-number-range-c/

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