Стек - расположение элементов в конце очереди - C#
Формулировка задачи:
Ребят, помогите пожалуйста. Само задание по факту выполнено, но вот одна проблема. Все отрицательный числа в стеке заменяются на 0, но они в начале очереди. Не могу никак сделать так, что бы они были в конце. Помогите пожалуйста, укажите на ошибку хотя бы)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] arr = new int[15];
int[] ar = new int[15];
Random rand = new Random();
Console.WriteLine("Стек:");
int sp = 0;
for (int i = 0; i < 15; i++)
{
arr[sp] = rand.Next(-100, +100);
Console.Write(arr[sp] + " ");
sp++;
}
Console.WriteLine();
int s = sp-1;
int d=sp-1;
while (s != 0)
{
if (arr[s] > 0)
{
ar[d] = arr[s];
s--;
d--;
}
else
{
s--;
}
}
Console.WriteLine("Новый стек:");
for (int i = 0; i < ar.Length; i++)
{
Console.Write(ar[i] + " ");
}
Console.ReadLine();
}
}
}Решение задачи: «Стек - расположение элементов в конце очереди»
textual
Листинг программы
for (int i = 0; i < 10; i++) //i < A.Length