Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 22.09.2017, 12:59   #1
Baldr
Новичок
 
Регистрация: 22.09.2017
Сообщений: 7
Репутация: 10
По умолчанию [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 в 14:09.
Baldr вне форума   Ответить с цитированием
Старый 22.09.2017, 13:04   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 14,823
Репутация: 2903

icq: 512-7шесть5
skype: alexp.frl
По умолчанию

Ну так нарисуйте матрицу, пронумеруйте столбцы и строки и посмотрите где j == i и где i + j == 4.
Alex11223 вне форума   Ответить с цитированием
Старый 22.09.2017, 14:11   #3
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 303
Репутация: 59
По умолчанию

Цитата:
Сообщение от Baldr Посмотреть сообщение
Код:

if (j == i || i + j == 4)

- потому что выполняется это условие: i == j - строится диагональ. Простая же вещь, что тут непонятного-то?
Cuprum5 вне форума   Ответить с цитированием
Старый 22.09.2017, 14:15   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 22,778
Репутация: 5062
По умолчанию

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

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



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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




08:12.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru