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

RichTextBox и двумерный массив

10.12.2014, 22:21. Показов 1715. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Столкнулся с такой проблемой , не могу считать числа из richTextBox и поместить их в двумерный массив. Задача звучит следующим образом
Задана квадратная матрица. Получить транспонированную матрицу, т.е. матрицу, где столбцы и строки меняются местами.
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
using System;
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 _121
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int Min, Max, n;
        double [,] myArr ;
        double[,] myArr2;
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            myArr2 = new double[n,n];
            if (richTextBox1.Text != "")
            {
                
                for (int i = 0; i < n; i++)
                {
                    for (int j = 0; j < n; j++)
                    {
                        myArr2[i, j] = myArr[j, i];
                    }
                }
                richTextBox2.Text = lol(myArr2);
            }
            else
                return;
        }
 
 
 
        private void button4_Click(object sender, EventArgs e)
        {
            richTextBox2.Clear();
            Random rnd = new Random();
            if (textBox2.Text == "" & textBox3.Text == "")
            {
                MessageBox.Show("Введите Минимальное и Максимальное значение", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return;
            }
            else if (textBox2.Text == "")
            {
                MessageBox.Show("Введите минимальное значение.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return;
            }
            else if (textBox3.Text == "")
            {
                MessageBox.Show("Введите максимальное значение.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return;
            }
            Min = Convert.ToInt32(textBox2.Text);
            Max = Convert.ToInt32(textBox3.Text);
            if (Min > Max)
            {
                MessageBox.Show("Невозможно сгенерировать массив! Минимальное значение больше максимального значения.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return;
            }
            n = Convert.ToInt32(textBox1.Text);
            myArr = new double[n, n];
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                    {
                        {
                            myArr[i, j] = rnd.Next(Min, Max + 1);
                        }
                    }
            }
            richTextBox1.Text = lol(myArr);
        }
       public string lol(double[,] Arr)
        {
            string Dest="";
            char z=Convert.ToChar(9);
            for (int i = 0; i < Math.Sqrt(Convert.ToInt32(Arr.Length)); i++)
            {
                for (int j = 0; j < Math.Sqrt(Convert.ToInt32(Arr.Length)); j++)
                {
                 Dest+= string.Format("{0,3}", Math.Round(Arr[i, j],2))+z;
                }
                Dest += "\n"; 
            }
            return Dest;
        }
Добавлено через 2 минуты
Есть рабочий код для VB, но ни как не могу его переписать для С#
VB.NET
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
Sub TextNToMatrix(ByVal txt As String)
        Dim i, i2, w As Integer
        txt = txt.Replace(".", ",")
        Dim x() = txt.Split({Chr(10), Chr(13)})
        If x.Length = 0 Then
            MsgBox("Текст пуст")
            Exit Sub
        End If
 
        For i = 0 To (x.Length - 1)    ' цикл заполнения матрицы
            Dim x2() = x(i).Split({Chr(9), Chr(32)}, StringSplitOptions.RemoveEmptyEntries)
 
            If (i = 0) Then
                w = x2.Length
                n = w
                ReDim m(w - 1, x.Length - 1)
                If (w <> x.Length) Then
                    MsgBox("Матрица не является квадратной")
                    Exit Sub
                End If
            Else
                If (x2.Length <> w) Then
                    MsgBox("Неправильное количество элементов в строке " & Str(i + 1))
                    ReDim m(n, n)
 
 
                    Exit Sub
                End If
            End If
 
            For i2 = 0 To w - 1
                If Not IsNumeric(x2(i2)) Then
                    MsgBox("Обнаружено нечисловое значение в строке " & Str(i + 1))
                    Exit Sub
                End If
 
                m(i, i2) = Convert.ToDouble(x2(i2))  ' проверка формата текста x(i) путем конвертирования в double
            Next
        Next
 
        MatrixToRichTextbox(m, RichTextBox1)    ' вывод исходной матрицы
    End Sub
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2014, 22:21
Ответы с готовыми решениями:

Присвоить значения из richTextBox в двумерный массив
Помогите присвоить значения из richTextBox в двумерный массив, т.е. в ней по сути содержится матрица 10х10 из символов(букв). Надо...

Массив в richTextBox не циклом
Граждане, можно ли зафигачить массив string или коллекцию около 2-3х тысяч элементов в richTextBox не циклом? есть метод какой-нибудь...

Считывание из richTextBox строк в массив
мне нужно считать из richTextBox несколько строк чиселового типа в массив и работать потом с этим массивом... ________ |128 ...

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

Занести в Richtextbox массив строк
как открыть в richtextbox массив строк? string sto = parse.sto(); for (int i = 0; i &lt; 300; i++) ...

Занести данные парсинга в массив и вывести в RichTextBox
Здравствуйте! Проблема в следующем... Я получаю страничку HTML при парсинге делаю выборку на активные ссылки (они находятся в &lt;div...

В richTextBox найти символ и записать в массив int
В richTextBox выводиться в столбик буква - число, нужно это число записать в масив int. Подскажите как это реализовать.:( Пример а - 2...

При любой смене размера richTextBox-а растянуть текст на весь richTextBox
есть richTextBox нужно вывести текст и при любой смене размера richTextBox растянуть этот текст на весь richTextBox. текст может быть любой...

Специальные символы в RichTextBox не учитываются при передаче в другой RichTextBox
Если мы зададим richTextBox1.Text = &quot;123\n123&quot;; мы увидим 123 123 но если мы зададим этот же текст из другого...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
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-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере 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 На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru