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

Как сделать сохранение матрицы и чтение его в программе

06.06.2022, 14:14. Показов 1184. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не работает правильно чтение матрицы, если был сохранен массив 4x4 и загружаю в другой массив например 2x2 то массив укорачивается
Не понимаю как это сделать, помогите

Открытие матрицы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void открытьToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                StreamReader FS = new StreamReader(openFileDialog1.FileName);
                for (int i = 0; i < n; i++)
                {
                    s = FS.ReadLine();
                    for (int j = 0; j < m; j++)
                    {
                        dataGridView1[j, i].Value = s.Substring(0, 3);
                        s = s.Substring(3, s.Length - 3);
                    };
                };
                FS.Close();
            }
        }
Сохранение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void сохранитьКакToolStripMenuItem_Click(object sender, EventArgs e)
        {
            {
                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    using (StreamWriter FS = new StreamWriter(saveFileDialog1.FileName))
                    {
                        for (int i = 0; i < n; i++)
                        {
                            for (int j = 0; j < m; j++)
                            {
                                FS.Write("{0,3}", dataGridView1[j, i].Value);
                            };
                            FS.WriteLine();
                        };
                    }
                }
            }
        }
Создание матрицы
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
private void button1_Click(object sender, EventArgs e)
        {
            Random r = new Random();
 
            // Считываем из текстовых полей размеры матрицы
            m = Convert.ToInt16(textBox1.Text);
            n = Convert.ToInt16(textBox2.Text);
            // Задаем размеры матрицы
            dataGridView1.RowCount = m;
            dataGridView1.ColumnCount = n;
            //заполняем матрицу случайными числами из диапазона [-5;8] -100;100
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    dataGridView1.Rows[i].Cells[j].Value = (r.Next(200) - 100).ToString();
                    if (Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value) < 0)
                    {
                        dataGridView1.Rows[i].Cells[j].Style = new DataGridViewCellStyle
                        {
                            ForeColor = Color.Red,
                        };
                    }
                }
            }
        }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.06.2022, 14:14
Ответы с готовыми решениями:

Не понимаю как сделать сохранение массива и чтение его в программе
Не работает правильно чтение массива, если был сохранен массив 4x4 и загружаю в другой массив например 2x2 то массив укорачивается Не...

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

Как сделать сохранение и чтение файла
Помогите не разберусь, как сделать сохранение и чтение файла Program bazaStudents; //Игошин ПР-210 Uses crt; type Student = record...

6
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
06.06.2022, 20:37
Цитата Сообщение от lecdepad Посмотреть сообщение
Не работает правильно чтение матрицы, если был сохранен массив 4x4 и загружаю в другой массив например 2x2 то массив укорачивается
Не понимаю как это сделать, помогите
Если правильно понял проблему, то нужно в файл записывать и размеры матрицы. Потом читать из файла сначала размеры, создавать матрицу по этим размерам, потом уже читать, из файла, данные в эту матрицу.
1
0 / 0 / 0
Регистрация: 20.12.2021
Сообщений: 42
07.06.2022, 12:42  [ТС]
ll45, я не понимаю как это в коде сделать
0
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
07.06.2022, 18:47
Проект выложи.

Добавлено через 34 минуты
Цитата Сообщение от lecdepad Посмотреть сообщение
Сохранение
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
private void сохранитьКакToolStripMenuItem_Click(object sender, EventArgs e)
        {
            {
                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    using (StreamWriter FS = new StreamWriter(saveFileDialog1.FileName))
                    {
                        FS.WriteLine(n);
                        FS.WriteLine(m);
 
 
                         for (int i = 0; i < n; i++)
                        {
                            for (int j = 0; j < m; j++)
                            {
                                FS.Write("{0,3}", dataGridView1[j, i].Value);
                            };
                            FS.WriteLine();
                        };
                    }
                }
            }
        }
Добавлено через 2 минуты
Цитата Сообщение от lecdepad Посмотреть сообщение
Открытие матрицы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void открытьToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                StreamReader FS = new StreamReader(openFileDialog1.FileName);
                n = Convert.ToInt32(FS.ReadLine());
                m = Convert.ToInt32(FS.ReadLine());
 
                for (int i = 0; i < n; i++)
                {
                    s = FS.ReadLine();
                    for (int j = 0; j < m; j++)
                    {
                        dataGridView1[j, i].Value = s.Substring(0, 3);
                        s = s.Substring(3, s.Length - 3);
                    };
                };
                FS.Close();
            }
        }
1
0 / 0 / 0
Регистрация: 20.12.2021
Сообщений: 42
07.06.2022, 18:59  [ТС]
ll45, вот
Вложения
Тип файла: 7z 5.7z (34.9 Кб, 0 просмотров)
0
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
07.06.2022, 19:12
Лучший ответ Сообщение было отмечено lecdepad как решение

Решение

В открытие добавить нужный размер таблицы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void открытьToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                StreamReader FS = new StreamReader(openFileDialog1.FileName);
                n = Convert.ToInt32(FS.ReadLine());
                m = Convert.ToInt32(FS.ReadLine());
                dataGridView1.RowCount = m;
                dataGridView1.ColumnCount = n;
                for (int i = 0; i < n; i++)
                {
                    s = FS.ReadLine();
                    for (int j = 0; j < m; j++)
                    {
                        dataGridView1[j, i].Value = s.Substring(0, 3);
                        s = s.Substring(3, s.Length - 3);
                    };
                };
                FS.Close();
            }
        }
Добавлено через 1 минуту
Цитата Сообщение от lecdepad Посмотреть сообщение
ll45, вот
Я уже увидел, в другой теме.

Добавлено через 37 секунд
С моим кодом работает нормально. Только, после исправлений, старый файл удали.
1
0 / 0 / 0
Регистрация: 20.12.2021
Сообщений: 42
07.06.2022, 19:25  [ТС]
ll45, не понял, так ошибки, нет?

C#
1
2
3
4
5
6
7
8
9
private void открытьToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                StreamReader FS = new StreamReader(openFileDialog1.FileName);
                n = Convert.ToInt32(FS.ReadLine());
                m = Convert.ToInt32(FS.ReadLine());
                private void открытьToolStripMenuItem1_Click(object sender, EventArgs e)
        {
Добавлено через 6 минут
ll45, спасибо огромное за помощь, брат
очень благодарен тебе!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.06.2022, 19:25
Помогаю со студенческими работами здесь

Чтение из файла txt построчно и сохранение в массив. Как сделать?
УВАЖАЕМЫЙ, какое это имеет отношенте к разделу!Подскажите пожалуйста. Как прочитать из файла не все сразу а построчно, или например до '.' ...

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

Решение СЛАУ: как сделать сохранение заполненных матриц в файл и чтение из файла?
Добрый день, есть программа для решения СЛАУ методом Гаусса-Жордана, но не могу разобраться как сделать сохранение заполненных матриц в...

Сохранение класса в файл и его чтение
К примеру Human (главное то, что в нем есть string): class Human{ public: string name; }; int main(){ Human h1, h2; ...

Сохранение ArrayList в файл и его чтение
Привет! Имеется: List&lt;File&gt; mImg = new ArrayList&lt;&gt;(); File dir = new...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru