поэтому я даю пользовательский массив в качестве входных данных, а затем выбираю уникальные числа из этого массива и сохраняю их в другом массиве, но проблема в том, что нет способа узнать размер нового массива.если массив частично заполнен, он напечатает несколько значений мусора.
Я пытался использовать '\ 0', но позже обнаружил, что он может использоваться только в случае "символьного массива".Следующее, что я попробовал, это использование "sizeof", но все равно никаких результатов.«sizeof» хранит максимальный размер массива.
#include<stdio.h>
int main()
{
int n;
printf("Enter The Size Of Array: ");
scanf("%d",&n);
int a[n],b[n];
int i;
printf("Enter The Elements Of The Array:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
int j;
for(j=0;j<i;j++)
{
if(a[i]==a[j])
{
break;
}
}
if(j==i)
{
b[j]=a[i];
}
}
printf("\nUnique Numbers Are: ");
for(i=0;i<n;i++)
{
printf("%d ",b[i]);
}
printf("\n");
return 0;
}
Результат: -
Enter The Size Of Array: 10
Enter The Elements Of The Array: 5 4 3 1 2 3 5 3 2 4
Unique Numbers Are: 5 4 3 1 2 32627 896 0 -919050752 32767
Ожидаемый результат: -
Enter The Size Of Array: 10
Enter The Elements Of The Array: 5 4 3 1 2 3 5 3 2 4
Unique Numbers Are: 5 4 3 1 2