Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
1 / 1 / 1
Регистрация: 05.01.2013
Сообщений: 57
1

Перенос элемента списка в другую позицию

07.12.2013, 19:16. Показов 2584. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Значит это кусок кода. Я в лист кидаю элементы массива. "С" - это минимальный элемент. Находим его в списке и переносим в начало списка. Всё. Не получается. Чувствую, что что-то не так . Прошу помощи, заранее блигодарю!


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 List<int> b = new List<int>();
            for (int i = 0; i < A.Length; i++)
            {
                b.Add(A[i]);
 
                if (c > A[i])
                    c = A[i];
 
                if (b[i] == c)
            {
                    b.Remove(c);
                    b.Add(c);
            }
                Console.WriteLine("A:[{0}]", b[i]);
            }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2013, 19:16
Ответы с готовыми решениями:

Создать процедуру для добавления элемента в заданную позицию списка и вывода списка на экран
Вот у меня есть готовая программа.Объясните мне пожалуйста каждую строчку чтоб я понял.Желательно...

Перенос максимального элемента в последнюю позицию строки
В каждой строке прямоугольной матрицы перенести максимальный элемент в последнюю позицию строки,...

Определить позицию максимального и минимального элемента списка за 1 рекурсию
Ребят, вот такая вот задачка: определить позицию максимального и минимального эл-та списка за 1...

Перенос элемента в конец списка
Доброго времени суток. Задание: описать процедуру, которая переносит в конец непустого списка L...

5
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
07.12.2013, 19:25 2
Судя потому что ты написал
C#
1
2
3
4
5
6
7
8
 List<int> lst=new List<int>();
            int[] arr = new int[] { 2, 4, 5, 12, 1 };
            int minimum = arr.Min();
            lst.Add(minimum);
            for (int i = 0; i < arr.Length; i++)
                if (arr[i] == minimum)
                    continue;
                else lst.Add(arr[i]);
0
1 / 1 / 1
Регистрация: 05.01.2013
Сообщений: 57
07.12.2013, 20:21  [ТС] 3
Просто убирается минимальный элемент

Добавлено через 2 минуты
Вот так выглядит весь код --->

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace loiko_lab_5
{
    class Program
    {
        static void Main(string[] args)
        {
           
 
 
            Console.WriteLine("Введите кол-во элементов массива А:");
            int n = Convert.ToInt32(Console.ReadLine());
            int[] A = new int[n];
            int c=0;
            int k=0;
            Random rnd = new Random();
            int minimum = A.Min();
            int maximum = A.Max();
            Console.WriteLine("\n");
            Console.WriteLine("Полученный массив:");
 
            for (int i = 0; i < A.Length; i++)
            {
                A[i] = rnd.Next(10);
                Console.WriteLine("A:[{0}]", A[i]);
            }
            Console.WriteLine("\n");
            Console.WriteLine("Минимальный элемент:");
 
            for (int i = 0; i < A.Length; i++)
            {
                c = A[0];
                if(A[i]<c)
                    c = A[i];
 
            }
 
            Console.WriteLine("Min A:[{0}]", c);
 
 
            Console.WriteLine("Максимальный элемент:");
 
            for (int i = 0; i < A.Length; i++)
            {
                k = A[0];
                if (k < A[i])
                    k = A[i];
 
            }
            Console.WriteLine("Max A:[{0}]", k);
            Console.WriteLine("\n");
            Console.WriteLine("Массив с переставленным в начало Min:");
 
            List<int> b = new List<int>();
            b.Add(minimum);
            for (int i = 0; i < A.Length; i++)
            {
                if (A[i] == minimum)
                    continue;
                else 
                    b.Add(A[i]);
                Console.WriteLine(b[i]);
            }
            
            
            
 
 
            Console.ReadKey();
        }
        
    }
}
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.12.2013, 20:31 4
Boba_Fet, не сказано, что делать, если минимальных элементов несколько.

Добавлено через 1 минуту
К тому же тебе походу надо с массивом работать, а не со списком.
0
1 / 1 / 1
Регистрация: 05.01.2013
Сообщений: 57
07.12.2013, 20:34  [ТС] 5
Да с массивом, но, как я знаю, нельзя удалять элементы из массива их "хэрачить" куда хочешь, что, на сколько я знаю, можно в списке. Вот я и подумал: задам массив, перенесу элементы в список, проделаю там все изменения и снова выведу данные в массив и выведу их. Но на деле не получается. Вообще задание звучит так: "Создать массив, найти max и min и вывести 2 массива: 1-й где min перенесён в начало, 2-й где в начале max"
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.12.2013, 20:44 6
Boba_Fet, да то же самое делай, что выше, только на массивах.

ВОт для минимального, для максимального сам сделаешь надеюсь:
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
using System;
 
namespace ConsoleApplication54
{
    class Program
    {
        static void Main(string[] args)
        {
            var r = new Random();
 
            int n = 10;
            var a = new int[n];
            for (int i = 0; i < a.Length; i++)
            {
                a[i] = r.Next(100);
            }
 
            Action printArray = () =>
                                {
                                    foreach (int x in a)
                                    {
                                        Console.Write(x + " ");
                                    }
                                    Console.WriteLine();
                                };
 
            printArray();
 
            int minInd = 0;
            for (int i = 1; i < a.Length; i++)
            {
                if (a[i] < a[minInd])
                    minInd = i;
            }
            int minvalue = a[minInd];
            for (int i = minInd; i > 0; i--)
                a[i] = a[i - 1];
            a[0] = minvalue;
            printArray();
        }
    }
}
1
07.12.2013, 20:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2013, 20:44
Помогаю со студенческими работами здесь

Перенос последнего элемента списка в начало
помогите с задачей данного типа: Написать программу переноса в начало списка его последнего...

Перенос в начало списка его максимального элемента, а в конец минимальный
нужно написать функцию,которая переносит в начало непустого списка L его максимальный элемент а в...

ListIterator добавление элемента в список на нужную позицию и вывод списка через for (ListIterator внутри for)
Доброго дня, нужна помощь с выводом списка через цикл for, внутри которого с помощью ListIterator...

QlistWidget перенос элемента из одного списка в другой при нажатии кнопки
Не получаться из одного QlistWidget перенести элемент в другой QlistWidget при нажатии кнопки


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru