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

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?

0

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

0

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

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 };

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