Identify the Missing Number
in an Integer Array of Size N-1 with Numbers [1,N]
#include
#include
#define max 15
int missing_number_array(int [],int);
int main()
{
int a[max], num, i, n;
clrscr();
printf("enter the range of array\n");
scanf("%d", &n);
for (i = 0;i < n;i++)
{
printf("enter a[%d]element into the array:", i);
scanf("%d", &a[i]);
}
num = missing_number_array(a, n);
printf("The missing number -> %d\n", num);
}
int missing_number_array(int a[], int n)
{
int i;
int s1 = 0;
int s2 = 0;
for (i = 0;i < n;i++)
s1 = s1 ^ a[i];
for (i = 1;i <= n + 1;i++)
s2 = s2 ^ i;
return (s1 ^ s2);
getch();
}
Output
Enter the range of array
9
Enter a[0]element into the array:1
Enter a[1]element into the array:5
Enter a[2]element into the array:2
Enter a[3]element into the array:7
Enter a[4]element into the array:3
Enter a[5]element into the array:4
Enter a[6]element into the array:10
Enter a[7]element into the array:9
Enter a[8]element into the array:6
The missing number -> 8
Enter the range of array
4
Enter a[0]element into the array:1
Enter a[1]element into the array:5
Enter a[2]element into the array:3
Enter a[3]element into the array:2
The missing number -> 4
Enter the range of array
4
Enter a[0]element into the array:3
Enter a[1]element into the array:2
Enter a[2]element into the array:5
Enter a[3]element into the array:4
The missing number -> 1
Check whether the given Number is
Palindrome or not using Bitwise Operator
#include
#include
#include
#define size 8
int is_palindrome(unsigned char[]);
void main()
{
int num, num1 = 0, i = 0, j = SIZE - 1, res;
unsigned char c[size];
clrscr();
printf("Enter a number(max 255)");
scanf("%d", &num);
num1 = num;
while (num != 0)
{
c[j] = num&1;
j--;
num = num>>1;
}
printf("The number %d in binary is:", num1);
for (i = 0;i < size;i++)
{
printf("%d", c[i]);
}
res = is_palindrome(c);
if (res == 0)
{
printf("\n Number is palindrome\n");
}
else
{
printf("\n Number is not palindrome\n");
}
}
int is_palindrome(unsigned char c[])
{
char temp[size];
int i, j, flag = 0;
for (i = 0, j = size - 1;i < size, j >= 0;i++, j--)
{
temp[j] = c[i];
}
for (i = 0;i < size;i++)
{
if (temp[i] != c[i])
{
flag = 1;
}
}
return flag;
}
Output
Enter a number(max 255)153
The number 153 in binary is:10011001
Number is palindrome
Enter a number(max 255)24
The number 24 in binary is:00011000
Number is palindrome
Swap two Numbers using
Bitwise Operators
#include
#include
#include
void swap(int*, int *);
void main()
{
int num1, num2;
printf("\nEnter two numbers:");
scanf("%d %d", &num1, &num2);
printf("\nThe numbers before swapping are Number1= %d Number2 = %d", num1, num2);
swap(&num1, &num2);
printf("\nThe numbers after swapping are Number1= %d Number2 = %d", num1, num2);
}
void swap(int *x, int *y)
{
*x = *x ^ *y;
*y = *x ^ *y;
*x = *x ^ *y;
}
Output
Enter two numbers:45 76
The numbers before swapping are Number1= 45 Number2=76
The numbers after swapping are Number1= 76 Number2=45
No comments:
Post a Comment