Pomogę ci ale nie będzie to po twojej myśli, za to pokażę ci jak powinno się podchodzić do rozwiązywania takich problemów.
Po pierwsze w C generalnie do funkcji, która ma działać na jakiejś tablicy, zwykle przekazuje się w jednym z argumentów rozmiar tej tablicy o ile nie jest to typowy C-String, którego rozmiar można prosto zbadać.
Po drugie rozmiar tablicy teoretycznie można automatycznie wyliczać
sizeof( tab ) / sizeof( tab[0] ) .... ale ten numer nie przejdzie jeśli będziesz chciał to zrobić ze wskaźnika, który otrzymasz jako argument funkcji, i szczególnie gdy będzie to wskaźnik typu void*
O ile jeszcze można do funkcji przekazać tablicę dowolnego typu za pomocą wskaźnika nieokreślonego
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to już całość zaczyna być życzeniem gwiazdki z nieba jeśli wziąć pod uwagę wszystkie twoje pomysły, czyli:
1. funkcja ma sobie obliczyć niby rozmiar tablicy z przekazanego wskaźnika
2. funkcja ma zwrócić taki typ jaki jest typ elementów przekazanej tablicy
Podejdź do tego zdroworozsądkowo i zrób to się tak jak się należy czyli:
1. przekazuj do funkcji w postaci argumentu rozmiar tablicy
2. możesz użyć typu wskaźnikowego
void* dla argumentu który ma być wskaźnikiem na przekazywaną tablicę (dzięki czemu możesz przekazać tablicę o dowolnym type elementów )
3. na wyjściu (skoro to ma być jakaś liczba) zastosuj że pan największy możliwy typ liczby jakiej się spodziewasz
i po zawodach ... co za różnica czy liczba zostanie zwrócona w typie np uint32_t albo int32_t nawet jeśli jej wartość będzie = 5 ?
czyli np:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]