Моя задача - распечатать матрицу целых чисел, отсканированных с клавиатуры, а затем распечатать числа под второй диагональю, используя отдельные функции. Мой код выглядит так:
#include <stdio.h>
#include <stdlib.h>
//array[n][n] = 2D array of n rows and n columns
//n = number of rows and columns
void printmatrix(int n, int array[n][n]){
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
printf("%d ", array[i][j]);
}
printf("\n");
}
return;
}
void undersdiagonal(int n, int array[n][n]){
for(int i = 1; i < n; i++){
/**/
for(int j = 1; (j < n); j++){
printf("%d ", array[i][j]);
}
}
return;
}
int main(){
int n;
scanf("%d", &n);
int integermatrix[n][n];
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
scanf("%d", &integermatrix[i][j]);
}
}
printf("The entered matrix is:\n");
//calls first function to print matrix
printmatrix(n, integermatrix);
printf("Under the secondary diagonal:\n");
//calls second function to print numbers under main diagonal
undersdiagonal(n,integermatrix);
printf("\n");
return 0;
}
Я не могу понять, как распечатать числа под второй основной диагональю из функции
void undersdiagonal(int n, int array[n][n]).
Мой ввод выглядит так:
3
1
2
3
4
5
6
7
8
9
И вывод выглядит так:
The entered matrix is:
1 2 3
4 5 6
7 8 9
Under the secondary diagonal:
5 6 8 9
Но я хочу, чтобы вывод был:
The entered matrix is:
1 2 3
4 5 6
7 8 9
Under the secondary diagonal:
6 8 9
Что я мог бы изменить в 'для'loop внутри цикла' for 'в функции
void undersdiagonal(int n, int array[n][n])
?