int main() int n; cin amp;gt;amp;gt; n; int
Int main()
int n;
cin gt;gt; n;
int mas[100][100];
for (int i = 0; i lt; n; i++)
for (int j = 0; j lt; n; j++)
if ((i + j) lt; n)
mas[i][j] = 0.5 * (i + j + 1) * (i + j + 2) + ((i + j) % 2 == 0 ? -i : -j);
else
int p = n - i - 1, q = n - j - 1;
mas[i][j] = n * n + 1 - (0.5 * (p + q + 1) * (p + q + 2) + ((p + q) % 2 == 0 ? -p : -q));
cout lt;lt; mas[i][j] lt;lt; "\t";
cout lt;lt; endl;
_getch();
return 0;
вот код программки диаганализации матрицы
что означает ? в ((i + j) % 2 == 0 ? -i : -j); этих строках?
1 ответ
Diman Hudobno
Условие ? правильно : неверно
То есть аналогично условным операторам if и else. Если условие верно, то выражение верно будет подставлено заместо всего условного оператора, а по другому, подставляется выражение ошибочно . К примеру:
int a = 2;
int b = a==2?3:4;
В данном образце условный оператор проверяет если a==2, то присваивается значение 3 (так и будет так как a = 2), а иначе присвоится значение 4 (если переменная a не будет одинакова 2).
То есть аналогично условным операторам if и else. Если условие верно, то выражение верно будет подставлено заместо всего условного оператора, а по другому, подставляется выражение ошибочно . К примеру:
int a = 2;
int b = a==2?3:4;
В данном образце условный оператор проверяет если a==2, то присваивается значение 3 (так и будет так как a = 2), а иначе присвоится значение 4 (если переменная a не будет одинакова 2).
Есения Костьева
А сможете разъяснить работу кода?
Коссаржецкий
Виталя
mas[i][j] = 0.5 * (i + j + 1) * (i + j + 2) + ((i + j) % 2 == 0 ? -i : -j);
Лилия Бременкова
вот эта строка
Denchik Rozentreter
Происходит вычисление выражения 0.5 * (i + j + 1) * (i + j + 2) + ((i + j), после чего, приобретенное число проверяется остатком при разделеньи на 2. То есть из числа удаляются все двойки (допустим 7%2, в числе 7 имеются 3 двойки и 1 единица (2+2+2+1 = 7)), а после, остаток после удаления (в выражении 7%2, остаток это единица, так как 3-и двойки убираются)
Кира
ворачивается в выражение (если бы мы брали число 6%2, то в этом случае (2+2+2 = 6) остатком будет 0, так как все двойки будут убраны). После чего этот остатком сравнивается с нулем ( == 0). Если остаток равен нулю, то подставляется отрицательное переменной i число (-i). А если остаток не равен нулю, то подставляется отрицательное переменной j число (-j).
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов