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

Ошибка

23.05.2019, 09:01. Показов 868. Ответов 3

Студворк — интернет-сервис помощи студентам
Помогите исправить ошибку - Для нестатического поля метода или свойства "Spisok.sortirovka(Spisok[],int)" требуется ссылка на объект.
Код класса
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
namespace WindowsFormsApp1
{
    interface ISpisok
    {
        void sortirovka(Spisok[] a, int cnt);
    }
    class Spisok : ISpisok
    {
        string fio, dolzno;
        int zp;
        double staz;
        public string Fio
        {
            get { return fio; }
            set { fio = value; }
        }
        public string Dolzno
        {
            get { return dolzno; }
            set { dolzno = value; }
        }
        public int Zp
        {
            get { return zp; }
            set { zp = value; }
        }
        public double Staz
        {
            get { return staz; }
            set { staz = value; }
        }
        public void sortirovka(Spisok[] a, int cnt)
        {
            for (int i = 0; i < cnt; i++)
            {
                for (int j = i + 1; j < cnt; j++)
                {
                    if (a[i].staz > a[j].staz)
                    {
                        double k = a[i].staz;
                        a[i].staz = a[j].staz;
                        a[j].staz = k;
                        int r = a[i].Zp;
                        a[i].Zp = a[j].Zp;
                        a[j].Zp = r;
                        string h = a[i].Fio;
                        a[i].Fio = a[j].Fio;
                        a[j].Fio = h;
                        string g = a[i].Dolzno;
                        a[i].Dolzno = a[j].Dolzno;
                        a[j].Dolzno = g;
                    }
                }
            }
        }
 
    }
}
Код формы
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
93
94
95
96
97
98
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int countData = 0;
        Spisok[] Spis = new Spisok[100];
        int k;
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                k++;
                dataGridView1.RowCount = countData + 1;
                Spis[countData] = new Spisok();
                Spis[countData].Fio = textBox1.Text;
                Spis[countData].Dolzno = textBox2.Text;
                Spis[countData].Zp = Convert.ToInt32(textBox3.Text);
                Spis[countData].Staz = Convert.ToDouble(textBox4.Text);
                countData++;
                for (int i = 0; i < countData; i++)
                {
                    dataGridView1[0, i].Value = Spis[i].Fio;
                    dataGridView1[1, i].Value = Spis[i].Dolzno;
                    dataGridView1[2, i].Value = Spis[i].Zp;
                    dataGridView1[3, i].Value = Spis[i].Staz;
                }
                textBox1.Text = "";
                textBox2.Text = "";
                textBox3.Text = "";
                textBox4.Text = "";
                label7.Text = "";
            }
            catch
            {
                label7.Text = "Введите значения";
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.ColumnCount = 4;
            dataGridView1.Columns[0].HeaderText = "Фио";
            dataGridView1.Columns[1].HeaderText = "Должность";
            dataGridView1.Columns[2].HeaderText = "Зарплата";
            dataGridView1.Columns[3].HeaderText = "Рабочий стаж";
        }
        private void button2_Click(object sender, EventArgs e)//ошибка здесь 
        {
            Spisok.sortirovka(Spis, countData);
            for (int i = 0; i < countData; i++)
            {
                dataGridView1[0, i].Value = Spis[i].Fio;
                dataGridView1[1, i].Value = Spis[i].Dolzno;
                dataGridView1[2, i].Value = Spis[i].Zp;
                dataGridView1[3, i].Value = Spis[i].Staz;
            }
        } 
        private void button3_Click(object sender, EventArgs e)
        {
            button1.Enabled = false;
            button2.Enabled = false;
            button4.Enabled = true;
            dataGridView1.Rows.Clear();
            int cnt = 0;
 
            for (int i = 0; i < countData; i++)
            {
                if (Spis[i].Zp < Convert.ToInt32(textBox5.Text))
                {
                    dataGridView1.RowCount = cnt + 1;
                    dataGridView1[0, 0].Value = Spis[i].Fio;
                    dataGridView1[1, 0].Value = Spis[i].Dolzno;
                    dataGridView1[2, 0].Value = Spis[i].Zp;
                    dataGridView1[3, 0].Value = Spis[i].Staz;
                    cnt++;
                }
            }
            ActiveForm.Text = cnt.ToString();
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();
            dataGridView1.RowCount = k;
            for (int i = 0; i < countData; i++)
            {
                dataGridView1[0, i].Value = Spis[i].Fio;
                dataGridView1[1, i].Value = Spis[i].Dolzno;
                dataGridView1[2, i].Value = Spis[i].Zp;
                dataGridView1[3, i].Value = Spis[i].Staz;
            }
            button1.Enabled = true;
            button2.Enabled = true;
            button4.Enabled = false;
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.05.2019, 09:01
Ответы с готовыми решениями:

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к сценарию(asp) получаю ошибку: &lt;пропуск&gt;...

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...

Ошибка при добавлении в файл. Ошибка 101: Ошибка записи на диск (Error 101: Disk write error).
Здравствуйте, возникла проблема такого плана. Нужно произвести добавление записи в файл, но после успешного создания и чтения вылазиет...

3
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
23.05.2019, 09:30
SmokyStarCat, добавь к методу модификатор
C#
1
public static void sortirovka(Spisok[] a, int cnt)
1
6 / 6 / 0
Регистрация: 16.09.2018
Сообщений: 188
23.05.2019, 10:40  [ТС]
Возникает другая ошибка: "Spisok" не реализует член интерфейса"ISpisok.sortirovka(Spisok[],int)".'Spisok.sortirovka(Spisok[],int)", не может реализовать член интерфейса, потому что он является статическим
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
23.05.2019, 10:49
у Вас в корне неверное представление того что Вам нужно. У Вас класс в которым вы хотите сделать сортировку массива классов, при этом к текущему классу данный метод никак не относится. Вам нужно либо переделать эту логику, либо убрать использование интерфейса и сделать как написали выше статический метод.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2019, 10:49
Помогаю со студенческими работами здесь

ASP: Response.Redirect - не работает, ошибка `500 - Внутренняя ошибка сервера'
Всем привет! Есть в ASP-сраничке такой код: Response.Redirect 'page1.asp?ReturnTo=page2.asp' Эта конструкция работала на IIS 4,...

Django Ошибка доступа (403) Ошибка проверки CSRF. Запрос отклонён
На хостинге разместил сайт и не могу войти в админку, т.к. возникает 403 ошибка &quot;Ошибка доступа (403). Ошибка проверки CSRF. Запрос...

Загружается до окна приветствия и вылетает ошибка: isass.exe - Системная ошибка
Ребята, помогите кто может... весь день бьюсь безрезультатно... с утра пришёл на работу а сервак не пингуется... загружается до...

Ошибка HTTP 500 - внутреняя ошибка сервера при отправке почты.
Я пытаюсь отправить почту и присоединяю к ней письма Вот часть страницы Dim myMail Set myMail = CreateObject('CDONTS.NewMail') ...

Ошибка SQL запроса , в базе работает, а через IBQuery в Delphi ошибка
В Combobox загружены имена организаций. Нужно выполнить запрос на вывод всех полей таблицы организаций при выборе имени в Combobox. При...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru