Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2015, 16:27   #1
doss
Пользователь
 
Регистрация: 05.03.2013
Сообщений: 41
По умолчанию Заполнение массива

Создаётся только квадратный массив, т.е. M(столбцов) = N(строк).. заполнение идет вручную (я ввожу в texBox 3 переменные и они подставляются в формулу, что ниже), а там выводится значения и бывает "+ - бесконечность " или "NaN" (объясните, что это).
Помогите, в чём ошибка или же так и должно заполнять массив?
C#
Код:
/*Aij = A*log0.5(i+B)+C*i/j^2*/

A[i, j] = (A1 * Math.Log(i + B, 0.5) + C * i) / (Math.Pow(j, 2));
Вот результат:
pMlkZZKtEOo.jpg

Последний раз редактировалось doss; 03.01.2015 в 16:37.
doss вне форума Ответить с цитированием
Старый 03.01.2015, 17:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Math.Pow(j, 2)
J это итератор цикла? Цикл не с нуля случайно ли начинается?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.01.2015, 17:06   #3
doss
Пользователь
 
Регистрация: 05.03.2013
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
J это итератор цикла? Цикл не с нуля случайно ли начинается?
Да, он самый. С нуля начинается.
doss вне форума Ответить с цитированием
Старый 03.01.2015, 17:08   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну так ты подставь в формулу нуль и посмотри что получается )
Сам все и поймешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.01.2015, 17:27   #5
doss
Пользователь
 
Регистрация: 05.03.2013
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну так ты подставь в формулу нуль и посмотри что получается )
Сам все и поймешь.
Понял, Спасибо! Вот в чем ошибка была.. а я думал в синтаксисе.. и там запутался.. Помогите еще вот с чем, я начинаю в j с единицы, как лучше заполнить 1-ю строку, которая пустая, нулями..?

Как вариант, подставил в формулу,где j +1
A[i, j] = (A1 * Math.Log(i + B, 0.5) + C * i) / (Math.Pow(j + 1, 2));
Немного "грубо", но всё заполняется...

Последний раз редактировалось doss; 03.01.2015 в 17:37.
doss вне форума Ответить с цитированием
Старый 03.01.2015, 17:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну пожалуй кошернее будет прописать условие:
Код:
if(j!=0) A[i, j] = (A1 * Math.Log(i + B, 0.5) + C * i) / (Math.Pow(j, 2));
else A[i, j]=0;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.01.2015, 17:46   #7
doss
Пользователь
 
Регистрация: 05.03.2013
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну пожалуй кошернее будет прописать условие:
Код:
if(j!=0) A[i, j] = (A1 * Math.Log(i + B, 0.5) + C * i) / (Math.Pow(j, 2));
else A[i, j]=0;
Хех ... это был первоочередной вариант мой. Пустые элементы заполнить нулями. Спасибо!
doss вне форума Ответить с цитированием
Старый 03.01.2015, 17:53   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это был первоочередной вариант мой.
Зачем от него отказался? Многа букаф? А так?:
Код:
A[i, j] = (A1 * Math.Log(i + B, 0.5) + C * i) / (j!=0)?(Math.Pow(j, 2)):0;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.01.2015, 18:06   #9
doss
Пользователь
 
Регистрация: 05.03.2013
Сообщений: 41
Хорошо

Цитата:
Сообщение от Stilet Посмотреть сообщение
Зачем от него отказался? Многа букаф? А так?:
Код:
A[i, j] = (A1 * Math.Log(i + B, 0.5) + C * i) / (j!=0)?(Math.Pow(j, 2)):0;
Нет, реализировал немного другое, вывод ошибки если я не ввел хотя бы одну из переменных A,B,C. Всё, спасибо! Тема закрыта.
doss вне форума Ответить с цитированием
Старый 03.01.2015, 18:12   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
вывод ошибки если я не ввел хотя бы одну из переменных A,B,C
А-а-а. Тоже полезно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение listbox значениями из массива. Заполнение массива. Gnaqeaz C# (си шарп) 9 23.10.2014 07:53
Заполнение массива Teror4uks Общие вопросы Delphi 4 10.05.2014 18:38
Заполнение массива KaDima28 Общие вопросы Delphi 3 27.04.2014 21:30
заполнение массива goshek Помощь студентам 12 08.01.2014 05:38
Заполнение массива. Небесный Общие вопросы C/C++ 3 01.09.2009 01:39