Deivid Temat założony przez niniejszego użytkownika |
[C++]Wskaźniki w programie - czy ma to wgl sens? » 2015-12-22 14:11:13 Witajcie, uczę się jeszcze obsługi wskaźników. Mam na uczelnie napisać pewien programik, jego część jest z neta ale modyfikuję go pod siebie aby czegoś się też nauczyć :) Oto linijki kodu o które mi chodzi: int main() { srand( time( 0 ) ); int h, n; double ** M; cout << "Podaj rozmiar tablic: "; cin >> n; double * a, * b, * c, * d, * x, * B, * G; a = new double[ n ]; b = new double[ n ]; c = new double[ n ]; d = new double[ n ]; int * wsk_od_liczby = new int; int * wsk_ile = new int;
case 2: ini_przyklad_ran( a, b, c, d, n, * wsk_od_liczby, * wsk_ile ); break;
void ini_przyklad_ran( double *& a, double *& b, double *& c, double *& d, const int & n, int & wsk_od_liczby, int & wsk_ile ) { cout << "Podaj od jakiej liczby losowac:"; wcin >> wsk_od_liczby; cout << "Podaj ile liczb losowac:"; cin >> wsk_ile; for( int i = 0; i < n; i++ ) { a[ i ] =( rand() % wsk_ile ) + wsk_od_liczby; b[ i ] =( rand() % wsk_ile ) + wsk_od_liczby; c[ i ] =( rand() % wsk_ile ) + wsk_od_liczby; d[ i ] =( rand() % wsk_ile ) + wsk_od_liczby; } }
Pytanie czy poprawnie użyłem tutaj wskaźników czy zwrócić na coś uwagę? Dzięki z góry za pomoc. |
|
1aam2am1 |
» 2015-12-22 14:50:17 wsk_od_liczby = new int; wsk_ile = new int;
Co to? O_O |
|
carlosmay |
» 2015-12-22 15:05:22 void ini_przyklad_ran( int & ref, int * p, int * ptab, int n ) { cout << ref << " " << * p << " adres p: " << p << endl; for( int i = 0; i < n; i++ ) cout << *( ptab + i ) << endl; }
int main() { int n = 2; int * a; int num = 5; a = & num; int * ptab = new int[ n ]; ptab[ 0 ] = 2; *( ptab + 1 ) = 7; ini_przyklad_ran( * a, a, ptab, n ); }
Pierwszy argument przekazany przez referencję. Drugi to przekazanie wskaźnika. Trzeci to przekazanie wskaźnika na tablicę. Czwarty przekazanie przez wartość. Stosuj jednakowy sposób zapisu, bo będą ci się one mylić.
wsk_od_liczby = new int; wsk_ile = new int;
Co to? O_O
|
Co jest nieprawidłowego w tym zapisie? |
|
mateczek |
» 2015-12-22 16:42:41 Co jest nieprawidłowego w tym zapisie? |
w sumie nic. Poza tym że strasznie dziwny :P i mało przydatny w praktyce :) |
|
Deivid Temat założony przez niniejszego użytkownika |
» 2015-12-22 16:57:23 Edytowałem pierwszy post, czy taki zapis będzie lepszy? :) |
|
michal11 |
» 2015-12-22 21:19:19 Co jest nieprawidłowego w tym zapisie? |
To, że przed editem to nie były wskaźniki tylko zwykłe zmienne intowe. |
|
ArgonZapan |
» 2015-12-22 21:39:27 Jak dobrze pamiętam to cały czas był to wskaźnik, tylko że autor niepotrzebnie z edytował kod i zrobił się śmietnik :( |
|
carlosmay |
» 2015-12-22 22:38:51 To, że przed editem to nie były wskaźniki tylko zwykłe zmienne intowe. |
Był to wskaźnik ustawiony na zmienna typu 'int', następnie został przestawiony na alokowaną pamięć. |
|
« 1 » 2 |