Yes to all three questions. Though how you can choose to go about each is different. The simplest way to go about the first is simply to print out the numbers and ignore the number that was input.

Code:

for (int n = 1; n < 10; n++) {
if (n == input)
continue;
cout<< n <<'\n';
}

A similar method can be used for finding numbers greater than 9 in an array.

Code:

int n = 0;
for (int i = 0; i < nrow; i++) {
for (int j = 0; j < ncol; j++) {
if (array[i][j] > 9)
n++;
}
}

Finding duplicate numbers is slightly more difficult, but it is made trivial with the standard map container. Simply create a frequency map.

Code:

map<int, int> frequency;
for (int i = 0; i < nrow; i++) {
for (int j = 0; j < ncol; j++)
frequency[ array[i][j] ]++;
}
// Now map contains the unique values and the number of those values. Finding duplicates in this data structure is simple.