Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- llong vert_summ(int **arr, int n) {
- assert (arr != NULL);
- assert (n > 0);
- assert (n % 2 == 1);
- int middle = n / 2;
- llong summ = 0;
- for (int i = 0; i != n; ++i) {
- summ += arr[i][middle];
- }
- return summ;
- }
- llong left_diag(int **arr, int n) {
- assert (arr != NULL);
- assert (n > 0);
- assert (n % 2 == 1);
- llong summ = 0;
- for (int i = 0; i != n; ++i) {
- summ += arr[i][i];
- }
- return summ;
- }
- llong right_diag(int **arr, int n) {
- assert (arr != NULL);
- assert (n > 0);
- assert (n % 2 == 1);
- llong summ = 0;
- for (int i = 0; i != n; ++i) {
- summ += arr[i][n-i];
- }
- return summ;
- }
- llong sum2(int **arr, int n) {
- assert (arr != NULL);
- assert (n > 0);
- assert (n % 2 == 1);
- int middle = n / 2;
- return vert_summ(arr, n) + right_diag(arr, n) - arr[middle][middle];
- }
- llong sum2_opt(int **arr, int n) {
- assert (arr != NULL);
- assert (n > 0);
- assert (n % 2 == 1);
- int middle = n / 2;
- llong vert_summ = 0;
- llong right_diag = 0;
- for (int i = 0; i != n; ++i) {
- vert_summ += arr[i][middle];
- right_diag += arr[i][n-i];
- }
- return vert_summ + right_diag - arr[middle][middle];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement