Mam taki kod...
int main()
{
int * wsk;
int tab[ 10 ];
for( int i = 0; i < 10; i++ )
{
*( wsk += 2 ) = 20;
}
for( int k = 0; k < 10; k += 2 )
{
cout << * wsk << endl;
}
}
Ma on za zadanie wyświetlać co drugą liczbe z tablicy za pomocą wskaźników.
Problem polega na tym, że jak zmienię kod na taki:
int main()
{
int * wsk;
int tab[ 10 ];
for( int i = 0; i < 10; i++ )
{
*( wsk += 2 ) = i;
}
for( int k = 0; k < 10; k += 2 )
{
cout << * wsk << endl;
}
}
to wtedy zamiast tablica wypełnić się 1,2,3,4 itd. wypełnia się 9,9,9[...] i dopiero wyświetla co drugi element. Jeżeli zaś zrobię tak:
int main()
{
int * wsk;
int tab[ 10 ];
for( int i = 0; i < 10; i++ )
{
*( wsk ++ ) = i;
}
for( int k = 0; k < 10; k += 2 )
{
cout << * wsk << endl;
}
}
to już w ogóle katastrofa bo tablica wypełnia się adresami komórek pamięci.
Moje pytanie brzmi - co mam uczynić, żeby tablica wypełniła się dowolną wartością a wskaźnik skakał by po jej elementach wyświetlając tylko co drugą wartość czyli 1,3 a 0 i 2 najlepiej kasował..