Im trying to determine prime numbers with this program, but the output i get is plain wrong.

Code:

#include <iostream>
bool checkprime(int n, int f);
int main()
{
bool numbers[122];
int i = 2, j = 2;
for(i = 2; i <= 120; i++)
{
numbers[i] = false; //Initiate the Bool array//
}
for(i = 2; i <= 120; i++)
{
for(j = 2; j <= 120; j++)
{
if(!numbers[i])
{
if(checkprime(i, j))
{
numbers[i] = true;
break;
}
}
}
}
for(i = 2; i <= 120; i++)
{
std::cout << i << " : " << numbers[i] << std::endl; //Print the Bool Array//
}
std::cin.get();
}
bool checkprime(int n, int f) //Function for checking primality//
{
if (n % f)
{
return(false);
}
else
{
return(true);
}
}

What am i doing wrong here?