Dopiero uczę się C, zacząłem sobie ogarniać jakieś zadania itd.
A więc chce żeby program zapytał mnie o ilość wierszy i kolumn macierzy, a następnie wpisuje jakąś wartość w dane pole tej tablicy. Napisałem to jak poniżej i zastanawiam się co jest źle. Dla ułatwienia przyjmuje że cały czas robię macierz 3x3 (3 wiersze i 3 kolumny), a problem jest taki że program dla tab[0][2] przyjmuje tą samą wartość co dla tab[1][0] niezależnie co wpisze w tab[1][0]. Próbowałem to zapisać przy pomocy wskaźników to z kolei w miejsce pierwszego pola wiersza wpisywała się wartość ostatniego pola w poprzednim wierszu. Już dobrą chwile się zastanawiam co jest nie tak, zapewne coś źle z pętlami ale nie mam pomysłu jak to naprawić żeby działało.
#include <stdio.h>
#include <string.h>
int main ()
{
int l, k;
printf("liczba wierszy: ");
scanf("%d", &l);
printf("liczba kolumn: ");
scanf("%d", &k);
l=l-1;
k=k-1;
int tab[l][k];
int j, i;
for(j=0; j<=l; j++)
{
printf("Wiersz %d: ", j+1);
for(i=0; i<=k; i++)
{
scanf("%d", &tab[j][i]);
}
}
//dla sprawdzenia 3x3 (3 wiersze, 3 kolumny)
printf("tab[0][0]: %d\n", tab[0][0]);
printf("tab[0][1]: %d\n", tab[0][1]);
printf("tab[0][2]: %d\n", tab[0][2]);
printf("tab[1][0]: %d\n", tab[1][0]);
printf("tab[1][2]: %d\n", tab[1][1]);
printf("tab[1][2]: %d\n", tab[1][2]);
printf("tab[2][0]: %d\n", tab[2][0]);
printf("tab[2][1]: %d\n", tab[2][1]);
printf("tab[2][2]: %d\n", tab[2][2]);
return 0;
}