I have been trying to finish this code (function) for a while now, but am stuck on the last part. In this code, I prompt the user to select a number of integers and any number of digits and then find the smallest and largest value within these digits. On the next part, I am supposed to determine which of the given digits the smallest and largest are located such that the output should be:

Digit _ can be found in integer number(s): _, _

I apologize in advance if my code is sloppy; I just started learning C++ and haven't fully grasped the language yet.

Here is what I have tried:

Where:Code:`int digitSizeLoca() {`

int userNumInteger;

int* iPtr;

int* iPtr2;

int* iPtr3;

int value;

int value2;

int value3;

std::cout << "\nHow many integers? ";

std::cin >> userNumInteger;

iPtr = new int[userNumInteger];

iPtr2 = new int[userNumInteger];

iPtr3 = new int[userNumInteger];

for (int i = 0; i < userNumInteger; i++) {

*(iPtr3 + 1) = *(iPtr2 + 1) = *(iPtr + 1);

std::cout << "\nEnter digit #" << i + 1 << ": ";

std::cin >> *(iPtr + 1);

}

value = *(iPtr + 1);

value2 = *(iPtr2 + 1);

value3 = *(iPtr3 + 1);

if (value != 0, value2 != 0, value3 != 0) {

if (value <= 0)

value = -value;

if (value2 <= 0)

value2 = -value2;

if (value3 <= 0)

value3 = -value3;

int lDigit;

int sDigit;

int curDigit;

int pot = 10;

lDigit = sDigit = value % pot;

while (value, value2, value3) {

if (value / pot == 0, value2 / pot == 0, value3 / pot == 0) break;

curDigit = (value / pot, value2 / pot, value3 / pot) % 10;

if (curDigit < sDigit)

sDigit = curDigit;

if (curDigit > lDigit)

lDigit = curDigit;

pot*=10;

}

std::cout << "\nThe smallest digit: " << sDigit << std::endl

<< "\n Digit " << sDigit

<< " can be found in integer number(s): ";

for (int i = 0; i < userNumInteger; i++) {

int temp;

if (value < 0, value2 < 0, value3 < 0)

temp = -value, temp = -value2, temp = -value3;

else

temp = value, temp = value2, temp = value3;

do {

if (temp % 10 == sDigit) {

std::cout << " " << i+1;

temp = 0;

if (i != 0 && i < userNumInteger - 1 || i != 1 && i < userNumInteger - 1)

std::cout << ",";

}

temp /= 10;

} while(temp);

}

std::cout << "\nThe largest digit: " << lDigit << std::endl

<< "\n Digit " << lDigit

<< " can be found in integer number(s): ";

}

return 0;

}

Seems to do the job, but it always outputs 1, 2...Code:`for (int i = 0; i < userNumInteger; i++) {`

int temp;

if (value < 0, value2 < 0, value3 < 0)

temp = -value, temp = -value2, temp = -value3;

else

temp = value, temp = value2, temp = value3;

do {

if (temp % 10 == sDigit) {

std::cout << " " << i+1;

temp = 0;

if (i != 0 && i < userNumInteger - 1 || i != 1 && i < userNumInteger - 1)

std::cout << ",";

}

temp /= 10;

} while(temp);

}

Any form of advice is greatly appreciated!