При определенном условии сгенерировать массив - C (СИ)
Формулировка задачи:
Нужно при определенном условии сгенерировать массив, если написать это условие:
то получается такой массив:
0 0 0 4
0 0 3 4
0 2 3 4
1 2 3 4.
Как подправить условие, чтобы вывело такой массив:
0 0 0 1
0 0 1 2
0 1 2 3
1 2 3 4.
То есть массив должен и дальше продолжаться при разной размерности
- если в этой строчке изменить условие на
то он выведет правильный массив при размерности 4, но при больших размерностях уже будет не правильный
int i,j; for(i=0; i<n; i++) for(j=0; j<n; j++) x[i][j]=(j<n-i-1) ? 0:j+1;
x[i][j]=(j<n-i-1) ? 0:j+1;
x[i][j]=(j<n-i-1) ? 0:j+i-2;
Решение задачи: «При определенном условии сгенерировать массив»
textual
Листинг программы
#include <stdio.h> int main(void){ int i, j, size; printf("Size: "); scanf("%d", &size); printf("\n"); for ( i = 0; i < size; ++i ) for ( j = 0; j < size; ++j ) printf("%d%c", ( i + j + 2 - size < 0 ) ? 0 : i + j + 2 - size, ( j < size - 1 ) ? ' ' : '\n'); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены три переменные: i, j, size.
- Пользователю предлагается ввести размер массива с помощью функции scanf.
- Выводится размер массива.
- Используя два вложенных цикла, выводится массив.
- В каждой ячейке массива проверяется условие ( i + j + 2 - size < 0 ) ? 0 : i + j + 2 - size, которое генерирует уникальные значения для каждой ячейки массива.
- Если это условие истинно, то выводится 0, иначе выводится значение ( i + j + 2 - size ).
- После каждой строки массива выводится символ новой строки '\n', если значение j меньше размера массива минус один.
- Возвращается 0, завершая программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д