```
using System;
class Program
{
static void Main(string[] args)
{
int[] numbers = { 1, -2, 3, 4, -5, 6, -7, 8, 9 };
int lastNegativeIndex = -1;
int thirdIndex = 2;
// Находим индекс последнего отрицательного элемента массива
for (int i = numbers.Length - 1; i >= 0; i--)
{
if (numbers[i] < 0)
{
lastNegativeIndex = i;
break;
}
}
// Если в массиве есть отрицательные элементы и третий элемент существует
if (lastNegativeIndex != -1 && thirdIndex < numbers.Length)
{
// Меняем местами последний отрицательный и третий элементы
int temp = numbers[lastNegativeIndex];
numbers[lastNegativeIndex] = numbers[thirdIndex];
numbers[thirdIndex] = temp;
}
// Выводим измененный массив на экран
Console.WriteLine("Измененный массив:");
for (int i = 0; i < numbers.Length; i++)
{
Console.Write(numbers[i] + " ");
}
}
}
```
В данном примере мы создаем массив целых чисел `numbers`, затем находим индекс последнего отрицательного элемента в цикле `for`. Если в массиве есть отрицательные элементы и третий элемент существует, то мы меняем местами последний отрицательный и третий элементы. Измененный массив выводится на экран.