Вывод отрицательных в конце

  1. задача 1: расположить элементы, чтобы отриц были в конце
  2. задача 2 : заполнить 2 массива, объединить в один и отсортировать по убыванию
  3. Возникли ошибки в том, что все работает как надо, но в первой задаче сказали не правильный ввод, а во второй задаче тип она не вводиться не объеденяеться и не сортируется Объясните я не понимаю в чём ошибка
  4. Задачи

задача 1

void main()
{
    int a[10], z, m = 0, n = 9;

    for (int i = 0; i < 10; i++)
    {
        printf("эл %d = ", i + 1);
        scanf("%d", &z);

        if (z > 0)
        {
            a[m] = z;
            m++;
        }
        else
        {
            a[n] = z;
            n--;
        }
    }

    for (int i = 0; i < 10; i++)
    {
        printf("%d", a[i]);
    }

    getch();
}

задача 2

void main()
{
    int a[10];
    b[10], c[20];

    for (int i = 0; i < 10; i++)
    {
        printf("a[%d] = ", i + 1);
        scanf("%d", &a[i]);
    }

    for (int i = 0; i < 10; i++)
    {
        printf("b[%d] = ", i + 1);
        scanf("%d", &b[i]);
    }

    S= 0;

    for (int i = 0; i < 10; i++)
    {
        c[s++] = a[i];
        c[s++] = b[i];
    }

    for (int i = 0; i < 20; i++)
    {
        printf("%d ", c[i]);
    }

    printf("\n");

    for (int s = 0; s < 20; s++)
    {
        for (int i = s; i < 20; i++)
        {
            if (c[s] < c[i])
            {
                int ob = c[s];
                c[s] = c[i];
                c[i] = ob;
            }
        }
    }

    for (int i = 0; i < 20; i++)
    {
        printf("%d ", c[i]);
    }

    getch();
}

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