Witam. Mam do napisania następującą funkcję:
void display(int **ptr);
Funkcja wyświetla w konsoli zawartość poszczególnych wierszy tablicy ptr, bez znaku końcowego. Każdy element tablicy D (pierwszego poziomu) ma znajdować się w oddzielnej linii.
W przypadku podanie niwłaściwych danych funkcja nie podejmuje żadnej akcji.
Przykład dla D:
10 20 30 40 50 60 70 ⏎
100 200 300 400 500 600 700 800 ⏎
1000 2000 3000 4000 5000 6000 7000 8000 9000 ⏎
Kod napisany przeze mnie:
void display(int **ptr) {
if(ptr==NULL||*ptr==NULL) return;
int rows = (int)sizeof(ptr) / sizeof(int*);
for (int i = 0; i < rows; i++) {
int* row = *(ptr+i);
for (int j = 0; *(row+j) != '\0'; j++) {
printf("%d ", *(row+j));
}
printf("\n");
}
}
Niestety nie działa ta funkcja prawidłowo, nie wiem też czy mój pomysł jest dobry. W jaki sposób mogę sprawdzić ile wierszy i kolumn posiada tablica? Byłabym wdzięczna za wskazówkę.