Generowanie tablicy z V-kształtnym rozkładem danych

0

Do projektu zaliczeniowego potrzebuję wygenerować tablicę liczb całkowitych, w której dane będą się układać w literę V, tzn. najmniejsza wartość na środku, a potem po jednej stronie rosnąco kolejne liczby parzyste i po drugiej stronie kolejne liczby nieparzyste. Napisałam kod, który w 90% działa prawidłowo. Problem stanowi 0, które uparcie zamiast w środkowej komórce, generuje się w komórce o indeksie 0. Czy ktoś mógłby spojrzeć na to świeżym okiem i pomóc mi znaleźć błąd?
To jest kod:

        int[] T = new int[10];                
        int srodek = ((T.Length/ 2)-1);  // wyznaczenie środka tablicy
        for (int i = 0; i < T.Length; i++) 
        {
            if (i == 0) T[srodek] = i; // wpisz 0 na środku
            else if (i % 2 != 0) T[srodek + ((i + 1) / 2)] = i1; // wpisywanie liczb nieparzystych
            else T[srodek - ((i - 1) / 2)] = i; // wpisywanie liczb parzystych
        }
        for (int i = 0; i < T.Length; i++) Console.Write(T[i] + "\t");

A to jest wynik działania:
0 8 6 4 2 1 3 5 7 9

2

@Kadria:

int[] T = new int[11];
int srodek;

 if(T.Length % 2 == 0)
   srodek = ((T.Length / 2) - 1);
 else
   srodek = T.Length / 2;

for (int i = 0; i < T.Length; i++)
{
     if (i == 0)
        T[srodek] = i;		
     else if (i % 2 != 0)
        T[srodek + ((i / 2) + 1)] = i; 		
     else
        T[srodek - (i / 2)] = i;
}

 for (int i = 0; i < T.Length; i++)
	 Console.Write(T[i] + "\t");
1

@Eldorad O.: Dziękuję za pomoc. Na to, że ustalenie środkowej wartości nie uwzględnia tego czy długość tablicy jest liczbą parzystą czy nieparzystą wpadłam już po wysłaniu pytania :) a dalej widać, że trochę przekombinowałam XD Teraz śmiga jak należy :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1