Witam mam mały problem z zadaniem ze wskaźnikami :
Napisz funkcję, której zadaniem będzie utworzenie tablicy oraz pobranie od użytkownika pewnej ilości liczb typu int i zapamiętanie ich w tablicy. Parametrem funkcji jest wskaźnik do zmiennej typu int (wskaźnik do pierwszego elementu tablicy)
Rozmiar tablicy początkowo ustalamy na 10, wczytywane liczby są z przedziału <1,100>; podanie liczby, która nie naley do przedziału, powoduje zakończenie wczytywania. Jeśli użytkownik poda więcej liczb, tablicę należy powiększyć do 20, 30, 40.... Funkcja ma zwróci wskaźnik do ostatniego elementu tablicy, albo NULL, jeliś użytkownik nie podał żadnej liczby z przedziału <1,100>. Niewypełnione elementy tablicy ustawiamy na 0.Napisz program wykorzystujący napisaną funkcję. Mój problem to sposób w jaki mogę uzyskać (wskaźnik do pierwszego elementu tablicy) Kod:
#include<iostream>
#include<time.h>
#include<stdlib.h>
using namespace std;
int *fun(int *p){
int *t;
int w=10,k=0;
t=new int[w];
do{
cin>>*t;
if(*t>0 && *t<=100){
k++;
t++;
if(k-1==w)
w=w+10;
}
}while(*t<0 && *t<100);
if(k!=0){
for(;k<w;k++){
*t=0;
t++;
}
p=t-k;
return t-1;
}
else return NULL;
}
int main(){
int *wsk2;
int *wsk1=NULL;
wsk2=fun(wsk1);
cout<<wsk1<<endl; // pokaż adres pierwszego elementu tablicy;/zwraca NULL'a
cout<<wsk2<<endl; // pokaż adres ostatniego elementu tablicy;/ zwraca prawidłowy adres ostatniego elementu tablicy
system("pause");
return 0;
}
Niestety nie wiem w jaki sposób zmusić wsk1 to wskazywanie na t-k(pierwszy element tablicy)