не могу найти максимальный делитель отрицательных элементов массива
В массиве нужно найти максимальные делители каждого элемента. Для натуральных чисел все хорошо, а вот как сделать так, чтобы он и для отрицательных выводил максимальный делитель. Например, для -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]).