1

Тема: Задача на С

Вчора просив у вас допомоги, як вивести в коді діагоналі, ви мені допомогли, за що вам дуже дякую. Вийшов в мене повністю такий код:

#include <stdio.h>
#include <math.h>
int main()
{
  int A[4][4]={{11, 2, 13, 4},
      {5, 4, 9, 8},
      {0, 3, 7, 5},
      {10, 17, 12, 16}};
  int B[4];
  int sum;
  for(int i=0;i<4;i++){
      for(int j=0;j<4;j++){
          printf("%i\t", A[i][j]);
      }
printf("\n");
  }
              printf("\n");
  for (int i = 0; i < 4; i++) {
       printf("%i\t",A[i][i]);
  }
  for(int i=0;i<4;i++){
  sum=sum+A[i][i];}
printf("\n");
       printf("Слід матриці=%i\t",sum);
  }

Все добре, але я помітив що мені потрібно не тільки головну діагональ, але й іншу, і я незнаю як її вивести.. Головну діагональ я виводив ось тут:

 for (int i = 0; i < 4; i++) {
       printf("%i\t",A[i][i]);

2

Re: Задача на С

Якщо масив має розмірність [4][4], то елементи другої діагоналі матимуть індекси [0][3], [1][2], [2][1], [3][0]. Якщо узагальнити, коли один індекс дорівнює i, тоді другий дорівнює 3-i.

Подякували: bodnar2002891

3

Re: Задача на С

P.Y. написав:

Якщо масив має розмірність [4][4], то елементи другої діагоналі матимуть індекси [0][3], [1][2], [2][1], [3][0]. Якщо узагальнити, коли один індекс дорівнює i, тоді другий дорівнює 3-i.

Я не зовсім зрозумів, якщо чесно, як це записати?

4

Re: Задача на С

Візьміть той же цикл, який ви написали вище, але в других квадратних дужках замість i напишіть 3-i.

Подякували: bodnar2002891

5

Re: Задача на С

P.Y. написав:

Візьміть той же цикл, який ви написали вище, але в других квадратних дужках замість i напишіть 3-i.

Є! Дуже дякую!

6

Re: Задача на С

int A[4][4]

де тут помилка?

7

Re: Задача на С

ur_naz написав:

int A[4][4]

де тут помилка?

Тобто?

8

Re: Задача на С

ur_naz написав:

int A[4][4]

де тут помилка?

Припускаю, що не тут, а перед чи після. Крапку з комою пропустили, наприклад. Дайте решту коду, щоб сказати конкретніше.