Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
5 / 5 / 0
Регистрация: 14.08.2012
Сообщений: 24

Перестановка чисел в массиве

25.04.2013, 22:17. Показов 1353. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый. Нужно изменить порядок чисел в массиве, таким образом что бы каждая следующая получалась из предыдущей перестановкой двух соседних чисел. Например, при n=3 следует переставлять:
3.21 → 23.1 → 2.13 → 12.3 →1.32 →3.12.

Не могу запрограммировать саму перестановку, не получается ее в формулу запихнуть. Буду благодарен
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.04.2013, 22:17
Ответы с готовыми решениями:

Перестановка в массиве
Помогите пожалуйста с задачей! Заранее благодарю! Дан массив размера N.Поменять местами элементы на 3 и 5 позициях

перестановка в массиве
Уважаемые форумчане! требуется поменять местами первую строку и строчку в массиве, в которой находится первый нулевой элемент! ...

Перестановка чисел в массиве
задача: дан массив и число x. переставить числа в массиве таким образом, чтобы сначала массива шли числа, меньшие x, затем равные x, в...

3
 Аватар для dev-a1056
228 / 95 / 27
Регистрация: 16.04.2013
Сообщений: 315
Записей в блоге: 2
26.04.2013, 04:04
пока ничего лучше не могу придумать. знаю где поискать лучше, но это уже не сегодня.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
class Program
    {
        static void Main()
        {
            int[] t = {3, 2, 1};
            foreach (var p in Permutation(3))
            {
                for (int i = 0; i < t.Length; ++i)
                {
                    Console.Write("{0} ", t[p[i]]);
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
 
        static IEnumerable<int[]> Permutation(int k)
        {
            int[] a = new int[k + 1];
            int[] c = new int[k + 1];
            int[] o = new int[k + 1];
            List<int[]> res = new List<int[]>();
            for (int i = 0; i < o.Length; ++i)
            {
                a[i] = i - 1;
                c[i] = 0;
                o[i] = 1;
            }
            for (int j = k, s = 0; j != 1; )
            {
                int q = c[j] + o[j];
                if (q >= 0 && q != j)
                {
                    int i1 = j - c[j] + s;
                    int i2 = j - q + s;
                    Swap(ref a[i1], ref a[i2]);
                    c[j] = q;
                    int[] t = new int[a.Length - 1];
                    Array.Copy(a, 1, t, 0, t.Length);
                    res.Add(t);
                    j = k;
                    s = 0;
                    continue;
                }
                if(q >=0)
                    ++s;
                o[j] = -o[j];
                --j;
            }
            for (int j = res.Count - 1; j >= 0; --j)
                yield return res[j];
        }
 
        private static void Swap(ref int a, ref int b)
        {
            int t = a;
            a = b;
            b = t;
        }
    }
1
5 / 5 / 0
Регистрация: 14.08.2012
Сообщений: 24
26.04.2013, 07:31  [ТС]
Добавлено через 41 секунду
Цитата Сообщение от dev-a1056 Посмотреть сообщение
пока ничего лучше не могу придумать. знаю где поискать лучше, но это уже не сегодня.
Честно, не смог разобраться в коде. Много незнакомых методов. Сейчас вернусь посижу еще над ним, но по моему не будет работать при вводе n с клавиатуры
0
 Аватар для dev-a1056
228 / 95 / 27
Регистрация: 16.04.2013
Сообщений: 315
Записей в блоге: 2
26.04.2013, 08:43
arena55, метод main переделать и будет работать. дело не в корректности работы, а в производительности (она хромает).

Добавлено через 22 минуты
вот кстати почитай: http://neerc.ifmo.ru/wiki/inde... 0%BE%D0%BA
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.04.2013, 08:43
Помогаю со студенческими работами здесь

Перестановка чисел в массиве
Помогите, пожалуйста, умные кодеры! В начальный момент в массиве записаны по порядку числа от 1 до N (i-ое число - на i-ом месте). С...

Перестановка чисел в массиве
Написать функцию change(first, second), которая возвращает количество перестановок между двумя элементами, которые нужно совершить в первом...

Бэйсик, перестановка чисел в массиве
Здравствуйте, мне нужно в бэйсике переставить какой то вводимый набор чисел пользователем наоборот, т.е. например из 83726 нужно сделать...

Перестановка чисел в массиве в обратном порядке.
Прошу помогите!!! Надо решить 2 задачи по С++ !! Срочно!!! 1)написать функцию reverse. Параметр: массив из 100 чисел....

Перестановка в массиве
Дана целочисленная прямоугольная матрица. 1. Определить количество столбцов, не содержащих ни одного нулевого элемента 2....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru