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

Как в матрице отображать текст, а при просчете считать его за число?

01.07.2019, 20:10. Показов 577. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Картинка для наглядности.
Создается матрица (где вбиваются числа), некоторые из элементов матрицы, это бесконечность.
Хотелось бы, чтобы в программе отображалась бесконечность, а при поиске минимального числа в матрице каждой строки матрицы, например, программа брала это слово как очень большое число.

дальше возможно не нужно, но для наглядности и проверки бы.

Когда минимальное число найдено, выводиться вторая матрица, с новым столбцом, где есть минимальные значения каждой строки, и внимание, бесконечности на своих же местах, словами, но для дальнейшего просчета, для программы это должно быть большим числом.

(взял пока что для матриц 5х5 и 4х4)

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
using System;
using System.Windows.Forms;
 
namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
 
 
        private string[,] ControlContents = { { "inf", "B1", "C1", "D1", "E1"},
                                              { "A2", "inf", "C2", "D2", "E2"},
                                              { "A3", "B3", "inf", "D3", "E3"},
                                              { "A4", "B4", "C4", "inf", "E4"},
                                              { "A5", "B5", "C5", "D5", "inf"},
                                              { "A6", "B6", "C6", "D6", "E6"},
                                              { "A7", "B7", "C7", "D7", "E7"},
                                              { "A7", "B7", "C7", "D7", "E7"} };
 
        private bool[,] ControlRO = { { true, false, false, false, false},
                                      { false, true, false, false, false},
                                      { false, false, true, false, false},
                                      { false, false, false, true, false},
                                      { false, false, false, false, true},
                                      { false, false, false, false, false},
                                      { false, false, false, false, false}};
 
 
 
        TextBox[,] TBarray;
        int cols;
        int rows;
 
        public Form1()
        {
            InitializeComponent();
        }
 
 
        private void CreateTBarr(int cols, int rows)
        {
            TBarray = new TextBox[cols, rows];
            for (int i = 0; i < cols; i++)
                for (int j = 0; j < rows; j++)
                {
                    TBarray[i, j] = new TextBox();
                    TBarray[i, j].Text = ControlContents[i, j];
                    TBarray[i, j].Name = "" + i + j;
                    TBarray[i, j].Top = 70 + j * 35;
                    TBarray[i, j].Left = 20 + i * 50;
                    TBarray[i, j].Width = 40;
                    TBarray[i, j].ReadOnly = ControlRO[i, j];
 
                    this.Controls.Add(TBarray[i, j]);
                }
        }
 
 
  
        private void DeleteTBarr()
        {
            if(TBarray != null)
            {
                for (int i = 0; i < TBarray.GetLength(0); i++)
                    for (int j = 0; j < TBarray.GetLength(1); j++)
                    {
                        TBarray[i, j].Dispose();
                    }
 
            }
 
        }
 
 
        private void button2_Click(object sender, EventArgs e)
        {
            double[,] massiv = new double[cols, rows];
            double min;
 
            for (int i = 0; i < cols; i++)
                for (int j = 0; j < rows; j++)
                    massiv[i, j] = Convert.ToDouble(TBarray[i, j].Text);
 
 
            for (int i = 0; i < cols; i++)
            {
                min = massiv[i, 0];
                for (int j = 0; j < rows; j++)
                {
                    if (min > massiv[i, j])
                        min = massiv[i, j];
                }
 
 
                MessageBox.Show("min=" + min);
 
            }
        }
 
        
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DeleteTBarr();
            cols = comboBox1.SelectedIndex + 4;
            rows = comboBox1.SelectedIndex + 4;
            CreateTBarr(cols, rows);
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
    }
}
Миниатюры
Как в матрице отображать текст, а при просчете считать его за число?  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.07.2019, 20:10
Ответы с готовыми решениями:

Отображать текст как при тэге <pre>
Здравствуйте ! У меня такой вопрос: как задать элементу с текстом отображение переводов строк \n и сохранение всех пробелов ? Вроде...

Как считать текст из файла и вывести его на форму?
А после другой кнопкой записать в него?

При клике на CheckBox из TextBox считать число и отобразить его в Label
Доброго времени суток ;) ВБА ЕКСЕТЬ я хочу сделать, что б нажав на галочку (CheckBox - у меня их много) из TextBox считьівалось чило...

2
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
01.07.2019, 22:56
Цитата Сообщение от kolyan2805 Посмотреть сообщение
для программы это должно быть большим числом
Предположу, что отрицательные числа не используются. Тогда примите за бесконечность отрицательное число (-1, к примеру) и введите проверку для определения
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
02.07.2019, 01:39
Цитата Сообщение от kolyan2805 Посмотреть сообщение
Создается матрица (где вбиваются числа), некоторые из элементов матрицы, это бесконечность.
Цитата Сообщение от kolyan2805 Посмотреть сообщение
но для дальнейшего просчета, для программы это должно быть большим числом.
Есть несколько вариантов.
Один, как предложил Ellizio, заменить на недопустимое число и потом явно в расчётах его обнаруживать и отдельно обрабатывать.

Второй вариант, если у вас это байты, можно их представить как uint, а бесконечность как uint.MaxValue.

Третий вариант, положится на определение бесконечности в double. Представить в этом типе все значения, а +/- бесконечность как double.PositiveInfinity или double.NegativeInfinity. В математических операциях эти значения учитываются достаточно корректно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.07.2019, 01:39
Помогаю со студенческими работами здесь

Ошибка при просчете
Каждый раз при запуске просмотра выходит дополнительное окно с таким содержанием: Подскажите, как исправить?

Как считать текст из txt файла и вставить его в компонент webbrowser в поля ввода (авторизация)
help mee

Файл: Считать из файла посимвольно текст и вывести его на экран. Объясните, как это работает.
Дали нам в вузе (1 курс) такой вот код, чтобы считать с файла посимвольно текст и вывести его // Гистограмма.cpp: определяет точку входа...

Показать div только один раз и больше не отображать его после его закрытия. Как реализовать?
&lt;div&gt; &lt;p align=&quot;center&quot;&gt; &lt;a&gt;&amp;times;&lt;/a&gt; &lt;/p&gt; Если вы закроете этот блок, то больше никогда его не увидите! &lt;div&gt;Спасибо за...

При выборе текста в ComboBox в Memo отображать нужный текст
Подскажите,как сделать,чтоб при выборе текста в ComboBox в Memo отображался нужный текст?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru