rozmiar tablicy
- bisz
- Użytkownik
- Posty: 572
- Rejestracja: 13 paź 2004, o 18:29
- Płeć: Mężczyzna
- Lokalizacja: Szczecin
- Podziękował: 4 razy
- Pomógł: 27 razy
rozmiar tablicy
jest jakas funkcja ktorej jezeli podstawimy adres tablicy to zwroci nam jej wymiar, (ile wierszy na ile kolumn ) ( np jeden wymiar jezeli jest kwadratowa bo o takie mi sie rozchodzi )
-
- Użytkownik
- Posty: 852
- Rejestracja: 23 paź 2004, o 10:17
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Pomógł: 28 razy
rozmiar tablicy
rozumiem ze masz na mysli tablice dwuwymiarowe.
takowa macierz (w ogolnej postaci) jest reprezentowana w pamieci jako tablica jednowymiarowa bez zadnych roznic na poziomie pamieci gdzie sie konczy jeden wiersz a zaczyna drugi.wiec nie jest mozliwe wykonanie czegos takiego
takowa macierz (w ogolnej postaci) jest reprezentowana w pamieci jako tablica jednowymiarowa bez zadnych roznic na poziomie pamieci gdzie sie konczy jeden wiersz a zaczyna drugi.wiec nie jest mozliwe wykonanie czegos takiego
- bisz
- Użytkownik
- Posty: 572
- Rejestracja: 13 paź 2004, o 18:29
- Płeć: Mężczyzna
- Lokalizacja: Szczecin
- Podziękował: 4 razy
- Pomógł: 27 razy
rozmiar tablicy
niby tak, ale pomyslalem sobie, mozna zrobic sizeof podzielony przez 4 czy liestam bajtow zaleznie od typu i pierwiastek naturalny kwadratowy, powinno dać rozmiar czy sie myle
-
- Użytkownik
- Posty: 852
- Rejestracja: 23 paź 2004, o 10:17
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Pomógł: 28 razy
rozmiar tablicy
okresl sie jednoznacznie co masz dane. czy sam adres poczatku macierzy czy jeszcze typ elementow czy cos jeszcze.
-
- Użytkownik
- Posty: 852
- Rejestracja: 23 paź 2004, o 10:17
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Pomógł: 28 razy
rozmiar tablicy
Kod: Zaznacz cały
gosc@menachem:~/arigo$ cat macierz2.c
#include <stdio.h>
#include <math.h>
int main(void) {
int tab5[5][5];
printf("wymiar: %d
",(int)sqrt(sizeof(tab5)/(sizeof(**tab5))));
return 0;
}
gosc@menachem:~/arigo$ gcc macierz2.c -o macierz2 -lm
gosc@menachem:~/arigo$ ./macierz2
wymiar: 5
pozdrawiam
--------------
edit
ok juz znowu jestem online;) podsumowujac nie da sie tego zrobic przy zalozeniach jakie podales