не могу найти максимальный делитель отрицательных элементов массива

В массиве нужно найти максимальные делители каждого элемента. Для натуральных чисел все хорошо, а вот как сделать так, чтобы он и для отрицательных выводил максимальный делитель. Например, для -6 это 3. Большое спасибо за помощь.

  #include <stdio.h>

int main()

{
    int n,i;
    printf("Razmernosti massiva n=: ");
    scanf("%i",&n);
    int a[10];
    for(i=0;i<n;i++)
    {
     printf("\na(%i)=",i);
scanf("%i",&a[i]); }

    for (i=0;i<n;i++)
    {
        printf("Max delitel cisla %i: ",a[i]);
        for (int j=a[i];j>0;j--)
        {
            if( (a[i] % j) == 0  && j!=1 && j!=a[i]) 
            {
                printf ("%i",j); 
                break;
            }
        }
        printf("\n");
    }
}

Ответы (1 шт):

Автор решения: Vladimir Afanasyev

Вместо j=a[i] вам нужно брать тогда модуль числа, то есть j=abs(a[i]).

→ Ссылка