Циклом вывести 4 угловых элемента матрицы. Какой цикл? - C (СИ)
Формулировка задачи:
Добрый день.
Необходимо циклом вывести 4 угловых элемента матрицы. Какой цикл?
Что вместо XXX подставить? Спасибо.
Этот фрагмент не видит правый верхний угол... Остальные выписывает.
for(i = 0; i < XXX; i = XXX) { for(j = 0; j < XXX; j = XXX) { printf("%d ", array[i][j]); }
for(i = 0; i <= n; i = i + n - 1) { for(j = 0; j <= i; j = j + n - 1) {
Все, нашел. Тема закрыта )
for(i = 0; i < n; i = i + n - 1) { for(j = 0; j < n; j = j + n - 1) {
Решение задачи: «Циклом вывести 4 угловых элемента матрицы. Какой цикл?»
textual
Листинг программы
#include <stdio.h> #define ROWS 4 #define COLUMNS 5 int main(void) { int i, matrix[ROWS][COLUMNS] = { { 11, 12, 13, 14, 15 }, { 21, 22, 23, 24, 25 }, { 31, 32, 33, 34, 35 }, { 41, 42, 43, 44, 45 } }; for ( i = 0; i < 4; ++i ) printf("%d\n", matrix[(i & 1) * (ROWS - 1)][((i / 2) & 1) * (COLUMNS - 1)]); return 0; }
Объяснение кода листинга программы
В этом коде объявлена матрица matrix
размером 4x5, заполненная значениями от 11 до 45. Затем используется цикл for
, который выполняется 4 раза. В каждой итерации цикла выводится значение элемента матрицы, которое вычисляется по следующему алгоритму:
i & 1
возвращает последний бит числаi
, то есть его чётность.(ROWS - 1)
возвращает размер матрицы по строкам минус один.((i / 2) & 1)
возвращает чётность числаi / 2
.(COLUMNS - 1)
возвращает размер матрицы по столбцам минус один. Таким образом, на каждой итерации цикла выводится элемент матрицы, соответствующий номеру строки и столбца, вычисленному по указанному алгоритму. Список действий:- Объявить матрицу
matrix
размером 4x5 и заполнить её значениями от 11 до 45. - Выполнить цикл
for
4 раза. - В каждой итерации цикла вычислить номер строки и столбца, соответствующий числу
i
. - Вывести значение элемента матрицы, соответствующего вычисленному номеру строки и столбца.
- Вернуть 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д