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

Массивы. Работа с массивами

02.06.2015, 12:52. Показов 379. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток форумчане. Назрел вопрос.

У меня берутся данные из Excel в datagridview. После успешной обработки данных в gridview, мне нужно работать с этими данными. Таблица с данными представляет ничто иное как рассчитанное поле потенциалов, размером 2488x121.
Эти поля потенциалов рассчитываются в другой программе, и затем сохраняются в файл.

Лист Excel, как и сам массив, имеют следующую структуру (макет)

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 0 0 1 1 1 1 1 1 1 1 1 1 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 0 0
0 0 0 0 0 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 1 1 1 1 1 1 0 0 0 0

где 0 - пустая ячейка, а 1 - значение.

Так вот в чем вопрос:
Для каждой точки массива. нужно использовать определенную формулу. К примеру для первой строки представленного макета для любой точки подходит формула
формула 1

C#
1
r1[i, j] = -Eps * (values[i, j + 1] - values[i, j - 1]) / (2 * delta_r)

а для каждой крайней точки, т.е. если слева или справа относительно столбца j стоит 0, то нужно использовать формулу
формула 2

C#
1
r1[i, j] = -Eps * (values[i, j + 1] - values[i, j]) / (delta_r)

и
формула 3

C#
1
r1[i, j] = -Eps * (values[i, j] - values[i, j - 1]) / (delta_r)

Хочу посоветоваться как лучше построить условие if-else или какое-нибудь условие, чтобы мне можно было легко обрабатывать граничные условия? (Нули не идут в счет)

Мой код (работает не так как нужно)
код
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
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                for (int j = 0; j < dataGridView1.Rows[i].Cells.Count - 1; j++)
                {
                    if (get_values[i, j] == 0.0)//(j == 0) || (j == (dataGridView1.Rows[i].Cells.Count - 1)))
                    {
                        number_r2[i, j] = 0.0;
                    }
                    else if ((j >= 0) || (j <= 25))
                    {
                        number_r2[i, j] = -Eps * (get_values[i, j + 1] - get_values[i, j]) / (delta_r);
                    }
                    else if ((j >= 26) || (j <= 69))
                    {
                        number_r1[i, j] = -Eps * (get_values[i, j + 1] - get_values[i, j - 1]) / (2 * delta_r);
                    }
                    else
                    {
                        number_r2[i, j] = -Eps * (get_values[i, j] - get_values[i, j - 1]) / (delta_r);
                    }
                }
                // 
                // }
                int b; //точка останова
            }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2015, 12:52
Ответы с готовыми решениями:

работа с массивами
в одномерном массиве состоящем из n вещественных элементов вычислить 1) произведения элементов массива с чётными номерами 2) сумма...

Работа с массивами
появилась такая проблема... не знаю как написать чтобы выполнялись этих 2 условия: 1. Вычислить среднегеометрическое значение четных по...

Работа с массивами
Будь-ласка (потрібна допомога)

1
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
02.06.2015, 13:26
Цитата Сообщение от Илья Рогулин Посмотреть сообщение
Назрел вопрос.
Если я все правильно понял, и число условий не очень велико - определить словарь, где ключ - условие, согласно которому применяется формула (к примеру, диапазон индексов элемента), а значение - уже сам метод (через делегат/лямбда), который будет применен к элементу, соответствующему условию.
Как-то так, думаю.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2015, 13:26
Помогаю со студенческими работами здесь

Работа с массивами
Допустим есть два массива. float arr и float Pts. Первый может быть любых размеров , но все значения в нём лежат в пределах от 0 до 7....

Работа с массивами
Доброго времени суток. Вот чтото поставила меня в ступор задачка: Дан массив ненулевых целых чисел размера n. Проверить чередуются ли...

Работа с массивами
В колл-центре ведётся журнал исходящих звонков. Каждому звонку соответствует запись вида &lt;Дата и время начала интервью&gt;...

работа с массивами
Помогите с задачей пожалуйста Выяснить, является ли матрица симметричной относительно главной диагонали.

работа с массивами в памяти
вопрос такой можно ли изменить адрес в памяти у переменной массива? и можно ли изменить размер массива при помощи редактирования памяти? ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru