Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
.NET 4.x

Подкорректировать код в соответствии с заданием

17.09.2018, 17:35. Показов 6040. Ответов 52
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть пример кода: где пользователь до этого введя количество анализируемых чисел (и после чего сами числа) нажимая на кнопку "найти" получает положительные числа, а потом программа находит их среднее геометрическое

FormEx.Designer.cs
Кликните здесь для просмотра всего текста
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
namespace VP_6
{
    partial class FormEx
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
 
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
 
        #region Windows Form Designer generated code
 
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.label3 = new System.Windows.Forms.Label();
            this.label4 = new System.Windows.Forms.Label();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.button3 = new System.Windows.Forms.Button();
            this.button4 = new System.Windows.Forms.Button();
            this.textBox4 = new System.Windows.Forms.TextBox();
            this.SuspendLayout();
            // 
            // label3
            // 
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(13, 9);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(145, 13);
            this.label3.TabIndex = 0;
            this.label3.Text = "Повторяющиеся элементы";
            // 
            // label4
            // 
            this.label4.AutoSize = true;
            this.label4.Location = new System.Drawing.Point(13, 119);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(230, 13);
            this.label4.TabIndex = 1;
            this.label4.Text = "Повторяющиеся элементы по возрастанию";
            // 
            // textBox3
            // 
            this.textBox3.Location = new System.Drawing.Point(16, 29);
            this.textBox3.Multiline = true;
            this.textBox3.Name = "textBox3";
            this.textBox3.Size = new System.Drawing.Size(256, 87);
            this.textBox3.TabIndex = 2;
            // 
            // button3
            // 
            this.button3.Location = new System.Drawing.Point(197, 182);
            this.button3.Name = "button3";
            this.button3.Size = new System.Drawing.Size(75, 23);
            this.button3.TabIndex = 4;
            this.button3.Text = "Отмена";
            this.button3.UseVisualStyleBackColor = true;
            this.button3.Click += new System.EventHandler(this.button3_Click);
            // 
            // button4
            // 
            this.button4.Location = new System.Drawing.Point(116, 182);
            this.button4.Name = "button4";
            this.button4.Size = new System.Drawing.Size(75, 23);
            this.button4.TabIndex = 5;
            this.button4.Text = "Найти";
            this.button4.UseVisualStyleBackColor = true;
            this.button4.Click += new System.EventHandler(this.button4_Click);
            // 
            // textBox4
            // 
            this.textBox4.Location = new System.Drawing.Point(16, 135);
            this.textBox4.Multiline = true;
            this.textBox4.Name = "textBox4";
            this.textBox4.Size = new System.Drawing.Size(256, 31);
            this.textBox4.TabIndex = 3;
            // 
            // FormEx
            // 
            this.ClientSize = new System.Drawing.Size(284, 218);
            this.Controls.Add(this.button4);
            this.Controls.Add(this.button3);
            this.Controls.Add(this.textBox4);
            this.Controls.Add(this.textBox3);
            this.Controls.Add(this.label4);
            this.Controls.Add(this.label3);
            this.Name = "FormEx";
            this.Text = "Индивидуальное задание";
            this.Load += new System.EventHandler(this.FormEx_Load);
            this.ResumeLayout(false);
            this.PerformLayout();
 
        }
 
        #endregion
 
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.Button button2;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.TextBox textBox3;
        private System.Windows.Forms.Button button3;
        private System.Windows.Forms.Button button4;
        private System.Windows.Forms.TextBox textBox4;
    }
}}


FormEx.cs
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace VP_6
{
    public partial class FormEx : Form
    {
        public FormEx()
        {
            InitializeComponent();
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            bool checkUp = true, checkDown = true;
            {
                for (Int32 i = 0; i < FormMain.getArr().Count - 1; ++i)
                {
                    // для проверки на возрастание
                    if ((Convert.ToDouble(FormMain.getArr()[i]) < Convert.ToDouble(FormMain.getArr()[i + 1])) && checkUp)
                    {
                        checkUp = false;
                    }
                    // для проверки на убывание
                    if ((Convert.ToDouble(FormMain.getArr()[i]) > Convert.ToDouble(FormMain.getArr()[i + 1])) && checkDown)
                    {
                        checkDown = false;
                    }
                }
                if (checkDown || checkUp)
                {
                    MessageBox.Show("Массив отсортирован");
                }
                else
                {
                    double multi = 1.0;
 
                    for (Int32 i = 0; i < FormMain.getArr().Count; ++i)
                    {
                        multi *= (double)FormMain.getArr()[i];
                        if ((double)FormMain.getArr()[i] > 0)
                        {
                            textBox3.Text += Convert.ToString(FormMain.getArr()[i]) + " | ";
                        }
                    }
                    textBox4.Text = Convert.ToString(multi / (double)FormMain.getArr().Count);
                }
            }
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            this.Visible = false;
        }
 
        private void FormEx_Load(object sender, EventArgs e)
        {
 
        }
    }
}


Помогите изменить код так чтобы у меня из заранее введенных чисел выводились сначала повторяющиеся элементы (более двух раз) в верхний textbox, а потом они сортировались в возрастанию и выводились в нижний trxtbox.
Миниатюры
Подкорректировать код в соответствии с заданием  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.09.2018, 17:35
Ответы с готовыми решениями:

Правильно ли составил код в соответствии с заданием?
Дан массив {ai} , i = 1, 2, ..., 2n. Вычислить S=a1a2n+a2a2n-1+...+anan+1 Сам последний член последовательности, как к нему...

Разработать приложение в соответствии с заданием
Здравствуйте еще раз уважаемые форумчане! Пишу вам наверное в последний раз, так как нужно помочь в последнем задании! Задание...

Написать модель в соответствии с заданием
Здравствуйте, дорогие форумчане. Имеется задание по GPSSW. Я написал модель в соответсвии с ним. Написал так, насколько смог разобраться в...

52
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
20.09.2018, 08:41  [ТС]
Студворк — интернет-сервис помощи студентам
Элд Хасп,
Миниатюры
Подкорректировать код в соответствии с заданием  
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
20.09.2018, 09:49
Загрузку,сохранения я не трогал. Работает коряво. Но у меня вроде читался-записывался файл.
Изменил только функцию случайного создания массива. Так как по Вашу варианту требовался ЦЕЛОЧИСЛЕННЫЙ массив. Но сохранение/загрузка/создание - всё работает криво. Раз работает - другой нет. Не разбирался с этим.
Цитата Сообщение от xamelione25 Посмотреть сообщение
И как вообще (где) в данном примере задается формат файла?
В этом приложении не предусмотрен стандартное расширение. Выбираете любое. Или пользуетесь без него.

Ещё хотел пояснить за принцип использования DGV: строки - объекты, столбцы - свойства. Это не рекомендации, это именно правило! Именно для этого он и предназначен, и так он работает.
Пример. Если изменить класс отображаемый в DGV таким образом
C#
1
2
3
4
5
6
7
    class RowDGV
    {
        public int index { get; set; }
        public string value { get; set; }
        public int lenght { get; set; }
        public int count { get; set; }
    }
То мы получим автоматически в DGV четыре столбца с именами свойств этого класса.
Изменив метод заполняющий свойства этого класса
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        List<RowDGV> DGVSourse(IEnumerable ListValue)
        {
            List<RowDGV> _ret = new List<RowDGV>();
            foreach (var x in ListValue)
            { _ret.Add(new RowDGV() { value = x.ToString(), index = -1 }); }
 
            foreach (RowDGV x in _ret)
            {
                x.index = _ret.IndexOf(x);
                x.lenght = x.value.Length;
                x.count = _ret.Count(row => row.index >= 0 && row.value == x.value);
            }
 
            return _ret;
        }
Мы получим в DGV по колонкам:
  1. Индекс строки
  2. Значение строки
  3. Длину свойства значения
  4. Какой раз встречается это значение с начала списка
Кто там у Вас всё это создавал - порекомендуйте ему переделать по нормальному.
Снизу скриншоты, на случай если что не понятно.
Миниатюры
Подкорректировать код в соответствии с заданием   Подкорректировать код в соответствии с заданием   Подкорректировать код в соответствии с заданием  

Подкорректировать код в соответствии с заданием   Подкорректировать код в соответствии с заданием   Подкорректировать код в соответствии с заданием  

Подкорректировать код в соответствии с заданием   Подкорректировать код в соответствии с заданием   Подкорректировать код в соответствии с заданием  

0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
20.09.2018, 09:54  [ТС]
Элд Хасп, у меня постоянно onedrive при запросе сохранения и загрузки просит запуститься (он у меня с повреждениями и просит запуститься----идет тупо вход в личный кабинет, но он не заходит).......а при попытке войти в onedrive через пуск он мне пишет что

в этом может быть проблема?
Миниатюры
Подкорректировать код в соответствии с заданием  
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
20.09.2018, 10:05
Цитата Сообщение от xamelione25 Посмотреть сообщение
... у меня постоянно onedrive при запросе сохранения и загрузки просит запуститься ...
в этом может быть проблема?
Это настройки компа, onedrive. К данному приложению отношение не имеет.
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
20.09.2018, 10:07  [ТС]
Элд Хасп, а от запуска в дебаге или релизе это может зависеть?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
20.09.2018, 10:21
Цитата Сообщение от xamelione25 Посмотреть сообщение
Элд Хасп, а от запуска в дебаге или релизе это может зависеть?
Да, может. Там очень много разных настроек. Я в Debug запускал.
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
21.09.2018, 01:46  [ТС]
Элд Хасп, Подскажи какая строка здесь является условием (я просто с case никогда не связывался)?
dataGridView1.ReadOnly = false;
dataGridView1.EditMode = EditOnKeystrokeOrF2;
или
for (int i = 0; i < N; ++i)
Миниатюры
Подкорректировать код в соответствии с заданием  
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
21.09.2018, 11:01
Цитата Сообщение от xamelione25 Посмотреть сообщение
Подскажи какая строка здесь является условием (я просто с case никогда не связывался)?
Этот блок начинается co switch (mode) , где mode - сравниваемая переменная. На этом месте может быть любое выражение.
case 1: , case 2: и т.д. обозначают блоки операторов которые будут выполняться, если mode примет соответствующее значение 1, 2 и т.д.
default выполняется, если не был выполнен не один case .
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
21.09.2018, 11:05  [ТС]
Элд Хасп, ты чуть чуть не понял .....я туплю просто ....что мне писать в ромб
dataGridView1.ReadOnly = false;
dataGridView1.EditMode = EditOnKeystrokeOrF2;

или

Case, i < N, i++
-------------------------
что является условием???
-------------------------------------
общий вид блок-схем с использованием case я уже сам нашел
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
21.09.2018, 13:04
Цитата Сообщение от xamelione25 Посмотреть сообщение
Case, i < N, i++
Я не знаю что о это обозначает в блок схеме. В C# нет такой инструкции.
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
21.09.2018, 14:27  [ТС]
Элд Хасп, подскажи эта блок-схема правильна в соответствии с этим кодом? Или я где-то неправильно понял-сделал???
Кликните здесь для просмотра всего текста
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
namespace VP_6
{
    public partial class FormArray : Form
    {
        public FormArray()
        {InitializeComponent();}
        static private UInt16 mode;
        private UInt32 N;
        public DataGridViewEditMode EditProgrammatically {get; private set;}
        public DataGridViewEditMode EditOnKeystrokeOrF2 {get; private set;}
 
        private void button3_Click(object sender, EventArgs e)
        {
            FormMain.ArrayClear();
            dataGridView1.Rows.Clear();
            dataGridView1.Columns.Clear();
            this.Visible = false;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            ArrayList Arr = new ArrayList();
            switch (mode)
            {
                case 1:
                    for (int i = 0; i < N; ++i)
                    {
                        Arr.Add(Convert.ToDouble (dataGridView1.Rows[0].Cells[i].Value));
                        FormMain.setArr(Arr);
                    }
                    break;
            }
            dataGridView1.Rows.Clear();
            dataGridView1.Columns.Clear();
            this.Visible = false;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != "")
            {
                N = Convert.ToUInt32(textBox1.Text);
                dataGridView1.Rows.Clear();
                dataGridView1.Columns.Clear();
                ArrayList Arr = new ArrayList();
                mode = FormMain.SetMode;
                switch (mode)
                {
                    case 1:
                        dataGridView1.ReadOnly = false;
                        dataGridView1.EditMode = EditOnKeystrokeOrF2;
                        for (int i = 0; i < N; ++i)
                        {
dataGridView1.Columns.Add(i.ToString(), i.ToString());
                        }
                        break;
                    case 2:
                        dataGridView1.ReadOnly = true;
                        dataGridView1.EditMode = EditProgrammatically;
                        Arr = FormMain.rndArr(N);
                        for (int i = 0; i < N; ++i)
                        {
dataGridView1.Columns.Add(i.ToString(), i.ToString());
dataGridView1.Rows[0].Cells[i].Value = Arr[i].ToString();
                        }
                        break;
                    default:
                        MessageBox.Show("Error mode");
                        this.Visible = false;
                        break;
                }
            }
            else
            {
                MessageBox.Show("Input data on textBox1");
                this.Visible = false;
            }
        }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {}
        private void FormArray_Load(object sender, EventArgs e)
        { }
        private void FormArray_Shown(object sender, EventArgs e)
        {}
    }
}
Миниатюры
Подкорректировать код в соответствии с заданием  
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
21.09.2018, 15:30
Цитата Сообщение от xamelione25 Посмотреть сообщение
подскажи эта блок-схема правильна в соответствии с этим кодом?
Я не понимаю такой записи в виде блок-схем. А разбираться, вникать - нет желания.
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
21.09.2018, 15:33  [ТС]
Элд Хасп, та меня толком то только блок с switch (mode) волнует я правильно его записал или нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.09.2018, 15:33

Разработайте приложение в соответствии с заданием
На форме предоставьте пользователю возможность вводить положительные вещественные числа(в поле для ввода Edit). При нажатии на клавишу...

Разработайте приложение в соответствии с заданием
Разработайте приложение в соответствии с заданием. На форме предоставьте пользователю возможность вводить целые числа (в поле для ввода...

Измените исходный массив в соответствии с заданием
Дан двумерный массив. Измените исходный массив в соответствии с заданием: найти минимальный и максимальный элементы столбца и заменить их...

Измените исходный массив в соответствии с заданием:
Измените исходный массив в соответствии с заданием:заменить все элементы строки с номером k и столбца с номером р на противоположные по...

Спроектировать типовые схемы в соответствии с заданием, по электронике
Спроектировать типовые схемы в соответствии с заданием. Необходимо представить принципиальную схему , временную диаграмму и перечень...


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

Или воспользуйтесь поиском по форуму:
53
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru