[C++] Prosta operacja na tablicy, o co chodzi drogiemu Visual Studio 2010?

2010-12-10 15:06

Rejestracja: 11 lat temu

Ostatnio: 3 lata temu

0
#include <iostream>

using namespace std;

int main()
{
    const int rozmiar=4;
    int lol[rozmiar]={1,2,3,4,5};
    for (int i=0; i<rozmiar; i++)
    {
        cout << i << " element zawiera: " << lol[i] << endl;
    }
    getchar();
    getchar();
}

I to co mi wypluwa:

"too many initializer values"

od zawsze mnie uczą, że tablice liczy się od 0, więc od kiedy wpisując w nawias kwadratowy 4, mogę wpisać tylko 4 a nie 5 elementów, skoro mam elementy lol[0], lol[1], lol[2], lol[3], lol[4] = łącznie 5.

Od kiedy liczba podana w nawiasie kwadratowym tablicy informuje o ilości elementów w niej zawartych?

Pozostało 580 znaków

2010-12-10 15:17

Rejestracja: 12 lat temu

Ostatnio: 3 lata temu

0

Tablice liczy się od 0 do rozmiar - 1. Czyli 4 elementy w Twoim przypadku.

edytowany 1x, ostatnio: sperling, 2010-12-10 15:18

Pozostało 580 znaków

bo
2010-12-10 15:26
bo
0

Od kiedy liczba podana w nawiasie kwadratowym tablicy informuje o ilości elementów w niej zawartych? Od zawsze.

Pozostało 580 znaków

lol
2010-12-10 15:37
lol
0
Nequrian napisał(a)

od zawsze mnie uczą, że tablice liczy się od 0, więc od kiedy wpisując w nawias kwadratowy 4, mogę wpisać tylko 4 a nie 5 elementów, skoro mam elementy lol[0], lol[1], lol[2], lol[3], lol[4] = łącznie 5.

To "od zawsze" to chyba nie dawniej niż 2 dni co? Kolego, deklaracja tablicy:

int tab[4];

świadczy o tym, że ta tablica posiada 4 elementy:

int tab[0];
int tab[1];
int tab[2];
int tab[3];

nie 5.

Poza tym jeśli inicjalizujesz tablicę nie musisz podawać jej rozmiaru:

 int tab[]= { 1, 2, 3, 4 };

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0