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

Переделать код под "обезьянью" сортировку

14.12.2014, 20:08. Показов 1605. Ответов 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
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
78
79
80
81
82
83
84
using System;
using System.Drawing;
using System.Windows.Forms;
using Krugoks;
namespace Sorts
{
    /*
    public int Get()
    {
        return [this.] value;
    }
public void Set(int a)
{
    this.value=a;
}
*/
 
public class Sort
{
    public Krugok[] mass;
    //=new Krugok[];
    public Sort(int[] m1)
    {
    mass=new Krugok[m1.Length];
        for(int i=0;i<m1.Length;i++)
        {
            mass[i]=new Krugok(50*(i+1),50,50,m1[i], Color.Green);
        }
    }
    public void Paint (Graphics grfx)
    {
        for(int i=0;i<mass.Length;i++)
        {
            mass[i].Paint(grfx);
        }
    }
    public void Clear (Graphics grfx)
    {
        for(int i=0;i<mass.Length;i++)
        {
            mass[i].Clear(grfx);
        }
    }
public void Sortirovka(Graphics grfx)
{
    int i,j,n=0;
 
    for (i=0;i<mass.Length-1;i++)
    {
        int mi=mass[i].Get();
        int k=i;
        for(j=i+1;j<mass.Length;j++)
        {
            n=mass[j].Get();
            if(n<mi)
            {
                mi=n;
                k=j;
            }
        }
        if(k!=i)
        {
            //обмен местами mass[i] и  mass[k] ГРАФИКА
            int massix=mass[i].x;
            int masskx=mass[k].x;
            mass[i].Move(grfx,mass[k]);
            //mass[k].Move(grfx,1,massix);
            //сам обмен
            Krugok q1=mass[i];
            mass[i]=mass[k];
            mass[k]=q1;
        /*n=mass[i].Get();
            mass[i].Set(mass[k].Get());
                mass[k].Set(n);*/
 
 
 
                }
                
    }
}
 
    }
}
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Krugoks{
 public class Krugok 
 {
    public int x,y;
    int r;
    int value;
    Color color;
 
 
    public Krugok (int cx,int cy,int cr, int cvalue, Color ccolor)
    {
     x=cx;
     y=cy;
     r=cr;
     value=cvalue;
     color=ccolor;
    }
 
        public int Get()
    {
        return this.value;
    }
public void Set(int a)
{
    this.value=a;
}
 
 public void Paint(Graphics grfx)
 {
    /*Random rand = new Random();
    Color color = Color.FromArgb(rand.Next(256),
                                     rand.Next(256),
                                     rand.Next(256));*/
  grfx.FillEllipse(new SolidBrush(color),x,y,r,r);
  grfx.DrawString(Convert.ToString(value), new System.Drawing.Font(
        "Arial", 15),new 
        System.Drawing.SolidBrush(System.Drawing.Color.Black),x+15,y+10);
 
 }
 public void Clear (Graphics grfx)
 {
  grfx.FillEllipse(new SolidBrush(Color.White),x,y,r,r);
 
}
 
public void Move(Graphics grfx, Krugok move_kr)
{
    //двигаем вниз или вверх
    for(int i=0;i<50;i++)
    {
        this.Clear(grfx);
        move_kr.Clear(grfx);
        this.y=this.y+1;
        move_kr.y=move_kr.y-1;
        this.Paint(grfx);
        move_kr.Paint(grfx);
        System.Threading.Thread.Sleep(3);
        
    }
    //двигаем влево или вправо, ПОКА ХЗ
    int distance=Math.Abs(this.x-move_kr.x);
    for(int i=0;i<distance;i++)
    {
        this.Clear(grfx);
        move_kr.Clear(grfx);
        this.x=this.x+1;
        move_kr.x=move_kr.x-1;
        this.Paint(grfx);
        move_kr.Paint(grfx);
        System.Threading.Thread.Sleep(3);
        
    }
    //двигаем вниз или вверх
    for(int i=0;i<50;i++)
    {
        this.Clear(grfx);
        move_kr.Clear(grfx);
 
        this.y=this.y-1;
        move_kr.y=move_kr.y+1;
        this.Paint(grfx);
        move_kr.Paint(grfx);
        System.Threading.Thread.Sleep(3);
        
    }
}
 
}   
}
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
78
79
80
using System;
using System.Drawing;
using System.Windows.Forms;
using Sorts;
 
class RandomRectangle: Form
{
public Sort s1;
    TextBox t1;
    Button b1,b2;
    PictureBox p1;
    Graphics grfx;
 
    public static void Main()
    {
        Application.Run(new RandomRectangle());
    }
    public RandomRectangle()
    {
    Text = "Sort";
        Size = new System.Drawing.Size(800, 600);
        DoubleBuffered = true;
p1=new PictureBox();
{
p1.Size = new Size(700, 500);
p1.Left = 50;
p1.Top = 50;
p1.BackColor=Color.White;
grfx = p1.CreateGraphics();
this.Controls.Add(p1);
 
}   
    t1 = new TextBox();
            {
                t1.Left = 10;
                t1.Top = 10;
                //this.Controls.Add(t1);
            }
            
            
            
        
        b1=new Button();
        {
        b1.Text = "Го";
        b1.Left = 0;
        b1.Top = 0;
        b1.Size = new Size(50, 20);
        //b1.UseVisualStyleBackColor = true;        
        b1.Click += new System.EventHandler(b1_Click);
        this.Controls.Add(b1);
        }
        b2=new Button();
        {
        b2.Text = "Го";
        b2.Left = 50;
        b2.Top = 0;
        b2.Size = new Size(50, 20);
        //b1.UseVisualStyleBackColor = true;        
        b2.Click += new System.EventHandler(b2_Click);
        this.Controls.Add(b2);
        }
    }   
        private void b1_Click(object sender, EventArgs e)
        {
 
            
int[] m=new int[]{8,5,3,1,6,2,9,7,4,11,0,6};
s1=new Sort(m);
s1.Paint(grfx);
 
        }
    private void b2_Click(object sender, EventArgs e)
        {
        s1.Sortirovka(grfx);
 
        //s1.Paint(grfx);
 
        }
}
Это как мы компилировали вдруг кому понадобиться:
C#
1
2
3
4
csc /target:library krugok.cs
    
csc /target:library /r:krugok.dll sort.cs
csc /r:sort.dll help.cs
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2014, 20:08
Ответы с готовыми решениями:

Переделать сортировку под двухмерный массив
Как можно эту программу изменить под двухмерный массив, здесь реализована сортировка методом выбора. Элементы должны быть сверху вниз...

Переделать этот код под рекурсию
Надо переделать этот код под рекурсию using System; using System.Numerics; using System.Runtime.InteropServices; namespace...

Переделать код под делегат Func
Как переделать это код под делегат Func. Очень надо using System; using System.Collections.Generic; using System.Linq; using...

1
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 7
15.12.2014, 21:25
тут же все просто
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2014, 21:25
Помогаю со студенческими работами здесь

Переделать код под использование пользовательских методов
Есть программа,как ее переделать под 2 пользовательских метода: 1)Который возвращает значение через имя 2)Который возвращает значение...

Как переделать данный код под работу с большими числами?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using...

Переделать код TCPclient'a под формы
Добрый вечер! попыталась переделать код TCPclient'a под формы. Не получается, куча ошибок. Может увидите и подскажете что-нибудь? ...

Как переделать VBA код под C#?
Программа выполнялась на VBA Exсel нужно сделать тоже самое, но на C#. Я в С# полный ноль... Обработка кнопки «Выполнить»: ...

Переделать код удаления записи под Access
try { if (MessageBox.Show(&quot;Вы уверены, что хотите удалить запись? &quot;, &quot;Delete&quot;, MessageBoxButtons.YesNo) == DialogResult.Yes) { ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru