Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++]Wskaźniki w programie - czy ma to wgl sens?

Ostatnio zmodyfikowano 2015-12-26 02:53
Autor Wiadomość
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:
C/C++
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 ];
    //To dopisane przeze mnie
    //Edit 16:55
    int * wsk_od_liczby = new int;
    int * wsk_ile = new int;
C/C++
case 2:
ini_przyklad_ran( a, b, c, d, n, * wsk_od_liczby, * wsk_ile );
break;
C/C++
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.
P-142240
1aam2am1
» 2015-12-22 14:50:17
C/C++
wsk_od_liczby = new int;
wsk_ile = new int;
Co to? O_O
P-142244
carlosmay
» 2015-12-22 15:05:22
C/C++
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ć.


C/C++
wsk_od_liczby = new int;
wsk_ile = new int;
 Co to? O_O
 Co jest nieprawidłowego w tym zapisie?
P-142247
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 :)
P-142256
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? :)
P-142257
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.
P-142264
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 :(
P-142266
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ęć.
P-142268
« 1 » 2
  Strona 1 z 2 Następna strona