@G3ntl3m3n

C# как сделать массив с меняющимися значениями?

Вообщем нужно чтобы элементы в массиве менялись местами, стоящие на нечетных местах, с четными. Если можно, с комментариями. Спасибо.
  • Вопрос задан
  • 618 просмотров
Решения вопроса 1
@FreeBa
Как то так:
var array = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

            Console.WriteLine(string.Join(" ", array));

            var last = array.Last();    //берем последний элемент
            array.Remove(last);         //удаляем его
            array.Insert(0, last);      //и добавляем в начало, все элементы сдвигаются и, соответственно, меняют четность позиции

            Console.WriteLine(string.Join(" ", array));


Ну или так:
var array = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

            Console.WriteLine(string.Join(" ", array));

            for (int i = 0; i < array.Count - 1; i += 2)
            {
                //Меняем соседние элементы местами
                array[i] ^= array[i + 1];
                array[i + 1] ^= array[i];
                array[i] ^= array[i + 1];
            }

            Console.WriteLine(string.Join(" ", array));
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@andoral
int[] arr = любой массив интов;
for(int i = 0; i < arr.length - 1; i+2)
{
    int x = arr[i];
    arr[i] = arr[i+1];
    arr[i+1] = x;
}

Берем из массива число, меняем его с соседом местами, двигаем индекс на 2 позиции ( т.е. к следующей паре)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы