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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2017, 11:59   #1
Baldr
 
Регистрация: 22.09.2017
Сообщений: 7
По умолчанию [C#] Разбор кода: я не могу понять,почему единицы при исполнении программы проведены по диагонали.

Помогите разобрать код,я не могу понять,почему единицы при исполнении программы проведены по диагонали.
Код:
for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                    if (j == i || i + j == 4)
                        Console.Write("1 ");
                    else
                        Console.Write("0 ");
                Console.WriteLine();
            }


_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 22.09.2017 в 13:09.
Baldr вне форума Ответить с цитированием
Старый 22.09.2017, 12:04   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так нарисуйте матрицу, пронумеруйте столбцы и строки и посмотрите где j == i и где i + j == 4.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.09.2017, 13:11   #3
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

Цитата:
Сообщение от Baldr Посмотреть сообщение
Код:
if (j == i || i + j == 4)
- потому что выполняется это условие: i == j - строится диагональ. Простая же вещь, что тут непонятного-то?
Cuprum5 вне форума Ответить с цитированием
Старый 22.09.2017, 13:15   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Baldr Посмотреть сообщение
,почему единицы при исполнении программы проведены по диагонали.
не по диагонали, а по диагоналЯМ - по главной диагонали (это условие равенства индексов i==j)
и по побочной диагонали (это условие i+j==(n-1) )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.09.2017, 13:39   #5
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

Да-да-да, по условию "i + j == 4" будут использоваться координаты чисел:
i | j
-----
0 4
1 3
2 2
3 1
4 0
-----
Типа таблица.
i - строка, j - столбец массива.
Получается побочная диагональ(/)
Главная диагональ получается от условия "i == j".
Cuprum5 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять более точно фрагмент кода при изучении циклов Omarik C# (си шарп) 5 13.09.2016 21:46
Паскаль: Помогите понять основу для написания простейшей программы. Не могу понять суть. romanya Паскаль, Turbo Pascal, PascalABC.NET 2 18.03.2016 20:35
Делфи. Ошибка при исполнении программы Алексей_2012 Помощь студентам 18 20.10.2015 19:29
разбор кода программы (нечеткая логика) lexflax Qt и кроссплатформенное программирование С/С++ 0 09.09.2014 16:21
не могу понять почему при закрытии формы не выполняються действия описанные в formclose? maloy_ya Общие вопросы Delphi 9 21.01.2011 05:42