fork download
  1. #define M 4
  2. #define N 3
  3. #define Z M+N-1
  4.  
  5. int main(int argc, char const *argv[]) {
  6.  
  7. int mat[M][N] = {
  8. { 1, 2, 3},
  9. { 4, 5, 6},
  10. { 7, 8, 9},
  11. {10, 11, 12}
  12. };
  13.  
  14. int result[Z] = {0};
  15.  
  16. // z varia de 0 a M+N-1, exclusive
  17. // Indica a linha na matriz resultados:
  18. for (int z = 0; z < Z; z++) {
  19.  
  20. // i varia de 0 a M, exclusive
  21. // Indica a linha na matriz mat:
  22. for (int i = 0; i < M; i++) {
  23.  
  24. // j varia de 0 a N, exclusive
  25. // Indica a coluna na matriz mat:
  26. for (int j = 0; j < N; j++) {
  27.  
  28. // Se a soma da posição for igual a z:
  29. if (i + j == z) {
  30.  
  31. // Incrementa a soma:
  32. result[z] += mat[i][j];
  33.  
  34. }
  35.  
  36. }
  37.  
  38. }
  39.  
  40. // Exibe o resultado da soma:
  41. printf("%2d\n", result[z]);
  42.  
  43. }
  44.  
  45. return 0;
  46. }
Success #stdin #stdout 0s 9432KB
stdin
Standard input is empty
stdout
 1
 6
15
24
20
12