Последовательное выполнение условий if в С++?
Вы действительно не понимаете, что число не может быть одновременно меньше нуля и больше нуля?
эм, то что тут написано выведет весь массив как он есть без 0 элементов.
это решит задачуfor(i=0; i<n; i++)
  {
    if (a[i] < 0)
    {
      cout << a[i] << " " << endl;
    }
  }
  for(i=0; i<n; i++)
  {
    if (a[i] > 0)
    {
      cout << a[i] << " " << endl;
    }
  }