• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tablica jednowymiarowa | wskaźniki | uzupełnianie tabeli

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
704 wizyt
pytanie zadane 7 marca 2016 w C i C++ przez Maiyo Nowicjusz (180 p.)

Witam.

Ostatnio na lekcji C++ zaczął się temat wskaźników.. z którymi mam problem.

Otóż mam zrobić tablicę tysiącelementową wypełnioną liczbami rosnąco od 0 do 59, a później znowu od 0 z zastosowaniem wskaźników. Starałam się więc napisać taki program, jednak po skompilowaniu pokazuje mi cyfry od 0 do 59, później 0, a następnie losowe cyfry. Kombinuję nad tym, jednak nie mogę znaleźć rozwiązania problemu. Czy mógłby mnie ktoś nakierować? Dziękuję.

int main()
{
    int *wskaznik;
    int t[100];
    wskaznik = t;

    for (int i=-1; i<60; i++)
    {
        *(wskaznik++) = i + 1;
    }
    wskaznik = t+60;
    for (int i=-1; i<60; i++)
    {
        *(wskaznik++) = i + 1;
        if (wskaznik = t+100)
            break;
    }

    wskaznik = t;

    for (int j=0; j<100; j++)
        cout << *(wskaznik++) << " ";
    return 0;
}

 

2 odpowiedzi

0 głosów
odpowiedź 7 marca 2016 przez Patrycjerz Mędrzec (192,320 p.)

Po pierwsze, masz zrobić stuelementową, nie tysiącelementową tablicę. Z kolei użyłeś w warunku =, czyli operator przypisania, a nie ==, czyli operator porównania.

0 głosów
odpowiedź 7 marca 2016 przez Krawiec91 Pasjonat (19,600 p.)

Witam
Przyjęłaś zły warunek w instrukcji if (linia 15). W pierwszym obiegu pętli, warunek w instrukcji if jest spełniony i wykonuje się break. Tablica przechowuje to co było wpisane w pierwszej pętli czyli od t[0] do t[59], w drugiej pętli dodany został element t[60] czyli liczba 0. Dalsza cześć tablicy to przypadkowe wartości (śmieci).
Zapewne przez nieuwagę, z operatora ==  zrobił się operator przypisania = i stąd cały ten bałagan.;)
 

Podobne pytania

0 głosów
1 odpowiedź 469 wizyt
0 głosów
1 odpowiedź 199 wizyt
pytanie zadane 15 kwietnia 2019 w C i C++ przez wz7475 Początkujący (360 p.)
0 głosów
1 odpowiedź 191 wizyt

93,440 zapytań

142,431 odpowiedzi

322,678 komentarzy

62,802 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...