No veo cómo un cambio trivial a un programa trivial, y que no produce ninguna diferencia, puede provocar tanta excitación.
Y, ah, por cierto, este es mi programa trivial, el tuyo es es el de más arriba, ¿recuerdas? Aunque puedo copiarlo aquí también:
Código:
#include<iostream>
int main()
{
int cont, pasar;
int i, j;
int a[] = {2, 4, 7, 2, 3, 4, 7, 7};
const int N = sizeof( a ) / sizeof( int );
std::cout << "\n";
for ( i = 0; i < N; i++ )
{
pasar = 0;
for ( j = i; j-- && !pasar; )
pasar = a[i] == a[j];
if( !pasar )
{
for( j=i, cont=0; j < N; ++j )
cont += a[i] == a[j];
std::cout << "el elemento " << a[i] << " se repite " << cont << " veces\n";
}
}
}
Incluso, mira, en esta dirección puedes mostrarnos cómo queda todo más fácil y eficiente en C# y en Java si te apetece:
http://rextester.com/runcode