Salve, devo svolgere un esercizio che inserisca i valori in un array, ricerchi il max e uanti max ci sono, ed infine che ordini l'array in modo crescente.

Ho fatto un programma del genere, con visual studio 2010:

codice:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

int main ()
{

	int I;
	int J;
	int appoggio;
	int counter;
	int max;
	int tabella[11];

	for ( I = 1; I <= 10; I++ )
	{
		cout << "Inserisci il " << I << "' numero: ";
		cin >> tabella[I];
	}

	max = tabella[1];

	for ( I = 1; I <= 10; I++ )
	{
		if ( tabella[I] > max )
		{
			max = tabella[I];
		}
	}

	counter = 0;

	for ( I = 1; I <= 10; I++ )
	{
		if ( tabella[I] = max )
		{
			counter = counter + 1;
		}
	}

	J = I + 1;

	for ( I = 1; I <= 10; I++ )
	{
		for ( J = (I + 1); J <= 10; J++ )
		{
			if ( tabella[I] > tabella[J] )
			{
				appoggio = tabella[I];
				tabella[I] = tabella[J];
				tabella[J] = appoggio;
			}
		}
	}

	cout << "\nIl numero maggiore e': " << max << "\nIl numero maggiore si ripete: " << counter << " volte" << endl << endl;
	
	for ( I = 1; I <= 10; I++ )
	{
		cout << "Nella tabella ci sono: " << tabella[I] << endl;
	}

	return 0;
}
Ma non funziona:



Non riesco a capire dov'è che sbaglio D:

Grazie

edit. Scusate il disturbo, ho ciccato l'uguale uguale D: