Reverse the part of the number which is present from
position i to j. Print the new number.
eg:
num=789876
i=2
j=5
778986
Answer Posted / abdur rab
#include <stdio.h>
void reverse ( int* ip_array, int st_pos, int ed_pos )
{
if ( ( ip_array ) && ( st_pos < ed_pos ) ) {
* ( ip_array + st_pos ) ^= * ( ip_array +
ed_pos ) ^= * ( ip_array + st_pos ) ^= * ( ip_array +
ed_pos );
reverse ( ip_array, ++st_pos, --ed_pos );
}
}
int main ( int argc, char* argv [] )
{
int int_array [20];
int number = 789876;
int counter = 0;
int nloop = 0;
int start_pos = 2;
int end_pos = 5;
/* split the number into an array */
while ( number ) {
int_array [ counter++ ] = number % 10;
number = number / 10;
}
/* reverse the splited array */
reverse ( int_array, 0, counter - 1 );
/* reverse for the particular position */
if ( ( start_pos < end_pos ) && ( end_pos <=
counter ) ) {
reverse ( int_array, ( start_pos - 1 ), (
end_pos - 1 ) );
number = 0;
for ( nloop = 0; nloop < counter; nloop++ )
{
number *= 10;
number += int_array [ nloop ];
}
printf ( "\n %d", number );
}
return ( 0 );
}
Is This Answer Correct ? | 2 Yes | 1 No |
Post New Answer View All Answers
What does c in a circle mean?
Write a program to reverse a given number in c?
why do some people write if(0 == x) instead of if(x == 0)?
What is break in c?
Explain the difference between exit() and _exit() function?
What is a #include preprocessor?
Array is an lvalue or not?
What is the purpose of 'register' keyword?
What are the valid places to have keyword “break”?
What is default value of global variable in c?
What is the benefit of using an enum rather than a #define constant?
How can I recover the file name given an open stream or file descriptor?
What is the explanation for cyclic nature of data types in c?
In C language, a variable name cannot contain?
What is null pointer constant?