+ 2
At first glance, size is not declared you..
And remove j--, and use i<size in last loop..
Save code and share link that helps to find errors easily..
Edit : Subin J
//corrected code
#include <stdio.h>
void removal(int a[], int size)
{
int i, j, k;
for(i=0; i<size; i++)
{
for(j=i+1; j<size; j++)
{
if(a[i] == a[j])
{
for(k=j; k<size; k++)
{
a[k] = a[k + 1];
}
size--;
j--;
}
}
}
printf("\nArray elements after deleting duplicates : ");
for (int i = 0; i < size; i++)
{
printf("%d ", a[i]);
}
}
int main()
{
int a[50],size;
printf("Enter size of array : ");
scanf("%d", &size);
printf("Enter elements: ");
for(int i=0; i<size; i++)
{
scanf("%d", &a[i]);
}
for(int i=0; i<size; i++)
{
printf("%d\t", a[i]);
}
removal(a,size);
return 0;
}
+ 2
Use my added code..
I adjusted braces adding properly and made changes to print elements after removed dublicates at last..
Check those where I made changes...
Edit :
Subin J in your code, add brace { in line no.24.
Remove brace } in line no.48.
Add " size, i ", variables declaration in main function.. Then it works...



