Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 6

Обменять информационную часть между элементами

29.12.2011, 10:46. Показов 812. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Чтобы в списке элементы а и б поменялись местами под заданным номером "N", т.е. если н=1 , то в списке меняется 1 и второй элементы
вот начало кода
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
public void Obmen(int n)
        {
            int a, b;
 
 
            Console.WriteLine("Работает Obmen");
 
            if (count == 0)
            {
                //Console.WriteLine("ошибка, пустой список");
                return;
            }
            if (count == n)
            {
                //Console.WriteLine("ошибка");
                return;
            }
            if (n > count)
            {
                return;
            }
            if (n < 0)
            {
 
                return;
            }
            if (n == 0)
            {
                return;
            }
            Elem elem;
            elem = first;
            for (int i = 1; i < n; i++)
            {
                elem = elem.next;
            }
 
 
            {
                a = elem.info;
                elem = elem.next;
                b = elem.info;
               
            }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.12.2011, 10:46
Ответы с готовыми решениями:

Обменять между собой значения переменных
даны названия двух стран присвоить эти названия переменным величинам s1 s2, после чего обменять значение между собой

Вырезать часть строки между заданными элементами
Здравствуйте! У меня в переменной лежит HTML код. Мне нужно получить текст между &lt;div class=&quot;body&quot;&gt; и закрывающим его...

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

1
 Аватар для ibmpc
80 / 78 / 10
Регистрация: 29.12.2011
Сообщений: 183
29.12.2011, 19:03
Чтобы в списке элементы а и б поменялись местами под заданным номером "N", т.е. если н=1 , то в списке меняется 1 и второй элементы
Чтобы в списке A и B поменялись местами нужен индексатор или массив, список элементов с доступом по номеру(Бог: "Поц дай мне шанс." Анекдот(с)).

Пример со списком (класс List<>) и родным индексатором
C#
1
2
3
4
List<Elem> elem = new List<Elem>();
Elem temp = elem[N]; // запоминаем элемент
elem[N]= elem[N+1];  // по индексу N записываем следующий элемент
elem[N+1]=temp;      // по индексу следующего записываем, то что запомнили


так же и с простым массивом.
Elem[] elem = new Elem[емкость]
Elem temp = elem[N]; // запоминаем элемент
elem[N]= elem[N+1]; // по индексу N записываем следующий элемент
elem[N+1]=temp; // по индексу следующего записываем, то что запомнили


Как то так примерно.

И далее исправляйтесь:
Для начала думаю лучше стараться писать компактней, если все равно не выводите ошибки:

C#
1
if(n>=count || n<=0 || count==0) return;
Вместо
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
            if (count == 0)
            {
                //Console.WriteLine("ошибка, пустой список");
                return;
            }
            if (count == n)
            {
                //Console.WriteLine("ошибка");
                return;
            }
            if (n > count)
            {
                return;
            }
            if (n < 0)
            {
 
                return;
            }
            if (n == 0)
            {
                return;
            }


Вместо вывода ошибок на консоль лучше использовать исключения. Просто обрабатывать через try catch finaly возникающие исключения. Лучше всего привыкать именно к такому подходу.

C#
1
elem = elem.next;
Лично мне непонятно, что возвращает next, так как класс Elem не представлен. Но я думаю следующий элемент?

C#
1
2
3
4
5
elem = first;
            for (int i = 1; i < n; i++)
            {
                elem = elem.next;
            }
Создаем переменную, присваиваем ей значение first и далее в цикле (Смысл данного действа мне лично не понятен) каждый раз присваиваем новое значение. В чем смысл? Каждый раз значение все-равно перезаписывается и далее нет никаких действий.
C#
1
2
3
{a = elem.info;
elem = elem.next;
b = elem.info;}
Видимо код который должен осуществлять замену.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.12.2011, 19:03
Помогаю со студенческими работами здесь

Переставить в обратном порядке часть массива между элементами К1 и К2, включительно
Переставить в обратном порядке часть массива между элементами К1 и К2, включая их. Напишите код, пожалуйста. Чето ваще не вкуриваю какими...

вычислите сумму элементов, которая расположена между теми элементами,которые сами расположены между первым и последним отрицательными элементами.
вычислите сумму элементов, которая расположена между теми элементами,которые сами расположены между первым и последним отрицательными...

Записать информационную часть списка в бинарный файл, и прочитать его
Подскажите, как записать информационную часть измененного списка в бинарный файл и прочитать его? #include &quot;stdafx.h&quot; ...

Как поменять два элемента в двусвязном списке?(нельзя менять информационную часть, только ссылки)
Дан список из n целых чисел a1,a2...an.Поменять местами первый неотрицательный и максимальный элемент списка.

Обменять элементы главной диагонали заданной квадратной матрицы, с элементами её первого столбца
Составить программу обмена в матрице A элементов, находящихся на главной диагонали, с соответствующими элементами первого столбца.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru