С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
1 / 1 / 0
Регистрация: 15.04.2015
Сообщений: 15

Считывание двумерного массива из TextBox

24.04.2015, 20:20. Показов 5164. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, как сделать что бы при вводе матрицы в textbox программа считала ее в двумерный массив ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.04.2015, 20:20
Ответы с готовыми решениями:

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

Считывание данных с массива textbox-ов
пишу программу в visual studio 2010 proffessional с помощью windows form, до этого имел лишь небольшой опыт в консольных приложениях на...

Считывание массива данных через одно поле TextBox
Здравствуйте, я новичок в программировании через Windows Form, да и вообще в программировании опыт небольшой. Использую Microsoft Visual...

3
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
25.04.2015, 09:29
В C++/CLI лучше использовать управляемые массивы, пример работы с ними:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
using namespace System;
 
void PrintMatrix(array<double, 2>^ matrix) {
    for (int i = 0; i < matrix->GetLength(0); i++) {
        for (int j = 0; j < matrix->GetLength(1); j++) {
            Console::Write("{0} ", matrix[i, j]);
        }
        Console::WriteLine();
    }
}
 
int main(array<System::String ^> ^args) {
    array<double, 2>^ m = {
        { 1, 2, 3 },
        { 4, 5, 6 }
    };
    PrintMatrix(m);
    return 0;
}


Теперь к делу: метод, превращающий строки в матрицы назовём ParseMatrix(). Матрицы вводятся как в numpy в следующем виде
Code
1
2
3
4
"1 2; 3 4"
Это преобразуется в матрицу
|| 1 2 ||
|| 3 4 ||
Никакой обработки ошибок нет, если размеры не будут соблюдены, программа вылетит с исключением. Это уже на вашу доделку.
Код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
array<double, 2>^ ParseMatrix(String^ input) {
    // количество строк
    auto rows = input->Split(';');
    // лишний прогон для определения количества столбцов
    int colsCount = rows[0]->Trim()->Split(' ')->Length;
 
    array<double, 2>^ result = gcnew array<double, 2>(rows->Length, colsCount);
    for (int i = 0; i < rows->Length; i++) {
        auto cols = rows[i]->Trim()->Split(' ');
        for (int j = 0; j < colsCount; j++) {
            result[i, j] = Double::Parse(cols[j]);
        }
    }
    return result;
}
 
// ...
array<double, 2>^ matrix = ParseMatrix(textBox1->Text);
1
1 / 1 / 0
Регистрация: 15.04.2015
Сообщений: 15
28.04.2015, 07:04  [ТС]
Split(';'); такое разве есть в c++ это же из c# ?
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
28.04.2015, 07:24
Цитата Сообщение от kainapro Посмотреть сообщение
Split(';'); такое разве есть в c++ это же из c# ?
Это из .Net
C++/CLI - расширение языка C++ для работы с управляемым кодом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.04.2015, 07:24
Помогаю со студенческими работами здесь

Считывание двумерного массива
Здравствуйте господа программисты мне по курсачу надо сделать приложение по визуализации и обхода графа. Застрял на матрице смежности, дело...

Считывание двумерного массива по спирали
Дан двумерный массив размером 9x9 в текстовом файле. Нужно считать его по спирали, начиная с верхнего левого угла. Затем нужно вывести...

Считывание двумерного массива из файла
Дан файл в котором записан массив и его размерность: n m a00 a01 a02 ... a0m-1 ... an0 an1 an2 ... anm-1 Подскажите как считать...

Считывание двумерного массива из текстового файла
Здравствуйте! (turbodelphi). имею текстовый файл с квадратной матрицей(первая строка в файле это размерность), помогите считать этот массив...

Считывание двумерного массива из текстового файла
Столкнулся с проблемой при компиляции в C++ Builder ( File1.cpp(29): E2062 Invalid indirection Full parser context ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru