Из массива удалить простые числа, расположенные между максимальным и минимальным числом - C (СИ)

Узнай цену своей работы

Формулировка задачи:

(СИ)Из массива X(N) удалить простые числа, расположенные между максимальным и минимальным числом.

Решение задачи: «Из массива удалить простые числа, расположенные между максимальным и минимальным числом»

textual
Листинг программы
int i,j,min,max,imin,imax;
min=max=A[0];
imin=imax=0;
for(i=0;i<N;i++)
{
    if (A[i]<min)
    {
        min=A[i];
        imin=i;
    }
    if (A[i]>max)
    {
        max=A[i];
        imax=i;
    }
}
    
if (imin>imax)
{
    int temp=imin;
    imin=imax;
    imax=temp;
}
for (i=imin;i<=imax;i++)
{
    simple=1;
    for(int k=2; k<A[i]/2; k++)
    {
        if (A[i]%k==0)
        {
            simple=0;
            break;
        }
    }
    if (simple) A[i]=1;
}
 
i=j=0;
int c=0;
while (i<N)
{
    while (A[i]==1)
    {
        j++;
        c++;
    }
    A[i]=A[j];
    i++;
    j++;
}

Объяснение кода листинга программы

  1. min и max инициализируются значением первого элемента массива A[0].
  2. imin и imax инициализируются значением индекса первого элемента массива 0.
  3. В цикле происходит поиск минимального и максимального значений в массиве.
  4. Если индекс минимального значения больше индекса максимального значения, то происходит обмен значений между ними.
  5. В цикле проверяется каждый элемент массива от минимального до максимального значения на простоту.
  6. Если элемент является простым числом, то он заменяется на 1.
  7. После удаления простых чисел, индексы элементов сдвигаются вперед на 1.
  8. В цикле происходит удаление повторяющихся элементов, начиная с 1.
  9. После удаления повторяющихся элементов, индексы элементов сдвигаются вперед на 1.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы