Zmienna ilość nie jest zainicjowana. Poprawiłem też kilka rzeczy, bo jak rozumiem chcesz losować 1'000'000 liczb z zakresu od 0 - 100 włącznie z 0 i 100:
#include <iostream>
#include <ctime>
#include <cstdlib>
int main() {
const int ilosc = 101;
int tab[ilosc] = { 0 };
std::cout << "Wylosowanie 1000000 liczb calkowitych ze zbioru od 0 do 100" << std::endl;
srand(time(NULL));
for (int i = 0; i < 1000000; i++) // tutaj <, bo losujesz 1'000'000, a nie 1'000'001
{
int liczba = rand() % ilosc;
tab[liczba]++;
}
int max = tab[0];
int pozycja = 0;
for (int i = 0; i < ilosc; i++)
{
if (tab[i] > max)
{
pozycja = i;
max = tab[i];
}
}
std::cout << pozycja << " " << tab[pozycja] << "\n";
system("pause");
}
PS. Warto wiedzieć, że C++ dostarcza wiele gotowych funkcji, które łatwo rozwiązują takie zadania:
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <ctime>
int main()
{
srand(time(NULL));
const size_t size = 101;
int array[size]{};
std::cout << "Wylosowanie 1000000 liczb calkowitych ze zbioru od 0 do 100\n";
for (size_t i = 0; i < 1'000'000; i++)
{
int number = rand() % size;
array[number]++;
}
auto max = std::max_element(array, array + size);
std::cout << std::distance(array, max) << " " << *max << "\n";
}