Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
5 / 5 / 11
Регистрация: 25.01.2015
Сообщений: 205
1

Почему всегда выполняется условие

26.10.2015, 21:21. Показов 1167. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне нужно , чтобы числа на побочной диагонали были одинаковые. Т.е
0|1|3
1|0|2
3|2|0 , но он у меня всегда попадает под это условие, хотя ,проверяя в обычном массиве, ошибки не выводятся.
Вот часть кода.
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
 
 int[,] GR = new int[graphSize, graphSize];
            for (int i = 0; i < graphSize; i++)
            {
                for (int j = 0; j < graphSize; j++)
                {
                    try
                    {
                        int num = int.Parse(dataGridView1[j, i].Value.ToString());
                        GR[i, j] = num;
                        if (num < 0)
                        {
                            MessageBox.Show("Ток положительные числа, вот");
                            return;
                        }
                        if (GR[i, i] != 0)
                        {
 
                            MessageBox.Show("Диагональ матрицы должна быть заполнена нулями");
                            return;
                        }
                        
                            
                                if (GR[i, j] != GR[j, i])
                                {
                                    MessageBox.Show("Побочная диагональ не симметрична");
                                    return;
                                }
 
                            }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2015, 21:21
Ответы с готовыми решениями:

Почему всегда выполняется else?
int g; g = Convert.ToInt32(textBox8.Text); for (int f = 0; f &lt; n;...

Почему условие в коде не выполняется?
Добрый вечер ! Подскажите пожалуйста, всё перепробовал.... и точку останову ставил, тесты ... ...

При передаче рандомного значения в switch всегда выполняется один и тот же case
Добрый день! У меня возникла небольшая проблема в процессе написания части кода, в которой...

Почему выдаёт всегда 0?
Помогите. Почему выдаёт всегда 0?

4
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
26.10.2015, 22:56 2
Лучший ответ Сообщение было отмечено Shadevskiy как решение

Решение

Цитата Сообщение от Shadevskiy Посмотреть сообщение
чтобы числа на побочной диагонали были одинаковые
там, где 0, 0, 0 - это главная диагональ.

Когда матрица заполняется и присваивается 1 элементу GR(0, 1), то элемент GR(1, 0) все еще равен 0, поэтому условие всегда выполняется:
Цитата Сообщение от Shadevskiy Посмотреть сообщение
C#
1
2
3
4
5
if (GR[i, j] != GR[j, i])
{
   MessageBox.Show("Побочная диагональ не симметрична");
   return;
}
1
5 / 5 / 11
Регистрация: 25.01.2015
Сообщений: 205
26.10.2015, 23:39  [ТС] 3
А как можно исправить?
0
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
27.10.2015, 00:00 4
Лучший ответ Сообщение было отмечено Shadevskiy как решение

Решение

Цитата Сообщение от Shadevskiy Посмотреть сообщение
как можно исправить?
делать заполнение матрицы и проверку в разных циклах
1
5 / 5 / 11
Регистрация: 25.01.2015
Сообщений: 205
27.10.2015, 00:21  [ТС] 5
Т.е будь она уже заполнена, то такой ошибки бы он не выдал?
Дя, так и есть
0
27.10.2015, 00:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2015, 00:21
Помогаю со студенческими работами здесь

Почему всегда выводится текст последней кнопки?
Задачка на сообразительность Есть кнопки созданные программно. Это одномерный массив. Есть событие...

Почему сортировки первый раз всегда работают медленно?
Код тут. Почему сортировки первый раз (сразу после загрузки данных из файла) всегда работают...

Почему всегда выполняется условие?
Здравствуйте, имеется код int main(int argc,char *argv) { clrscr(); if(argv != &quot;aaa&quot;) ...

Условие выполняется всегда
Проблема следующая, нужно чтобы при определённом условии менялся цвет у строки. если пишу вот так...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru