# Thread: part of an array to integer?

1. ## part of an array to integer?

Hello, does anyone know if it is possible to convert part of an array e.g Sarray[1] to Sarray[5] to a single integer variable to perform calculation.

Am trying to do a calculator in mfc with buttons (nothing to hide.. its a homework) but the teacher doesnot code in cpp, so i have no choice except to code in vb which i don't code in. despite the teacher want to help me he can't since its cpp.

Am doing it using mfc.
my algo is as follows....

Assume am pressing button 5 , three times
char Sarray [9] //max numbers on display
counter=1;
int actualnum
{
when button 5 press
Sarray[counter]='5'
put Sarray[1 to counter] in actualnum; //where am having trouble
counter=counter+1;
}

The above doesnot have any real codes, except for the int and char etc.., i can manage with the rest, just wrote them in simple english for the easy understanding, Am stuck in the part where i would need to combine the
Sarray[1]=5;
Sarray[2]=5;
Sarray[3]=5;
into actualnum=555

Any idea?

Thanks

2. If you're reading user input, then this is most likely
Sarray[1]='5';

Sarray[4] = '\0';

Then you can say
int myint = atoi( Sarray );

3. Hello, does anyone know if it is possible to convert part of an array e.g Sarray[1] to Sarray[5] to a single integer variable to perform calculation.
Of course there is , but I donīt know if this is a good solution. Start from the end-index and work your way to the beginning-index of the array. Beware of potential errors.
Code:
```// Do not
//* Pass invalid array bounderis (zero based) e.i int array[5] -> range 0 to 4
//* Array with negative values
//* pFromIndex greater than pToIndex
//* Array with other than int elements
int ConvertToNumber(const int *pArray, int pFromIndex, int pToIndex)
{
int total = 0;
int multiply = 1;
for(int i = pToIndex; i >= pFromIndex; --i)
{
total += (multiply*pArray[i]);
multiply *= 10;
}
}```
When you understand this code snippet it should be easy to convert it to your needs.

4. Code:
```int ConvertToNumber(const int *pArray, int pFromIndex, int pToIndex)
{
int total = 0;
int multiply = 1;
for(int i = pToIndex; i >= pFromIndex; --i)
{
if(pArray<=0){printf("error %i",i);
total += (multiply*pArray[i]);
multiply *= 10;
}