Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int** get_matr(int n, int m)
- {
- int** matr = (int**)malloc(n * sizeof(int));
- for (int i = 0; i < n; ++i)
- {
- matr[i] = (int*)malloc(m * sizeof(int));
- for (int j = 0; j < m; ++j)
- {
- matr[i][j] = rand() % 18 - 9;
- }
- }
- return matr;
- }
- void print_matr(int** matr, int n, int m)
- {
- for(int i = 0; i < n; ++i)
- {
- for(int j = 0; j < m; ++j)
- {
- if(matr[i][j] < 0) printf("%d ", matr[i][j]);
- else printf(" %d ", matr[i][j]);
- }
- printf("\n");
- }
- }
- int LEN_LEFT = 0;
- int LEN_RIGHT = 0;
- int MAGIC_NUM = 17;
- int* left_pos(int** matr, int n, int m)
- {
- for(int i = 0; i < n; i++)
- {
- for(int j = 0; j < (m)/2; j++)
- {
- if(matr[i][j] > 0) LEN_LEFT ++;
- }
- }
- int* left = (int*)malloc(LEN_LEFT * sizeof(int));
- int cnt = 0;
- for(int i = 0; i < n; i++)
- {
- for(int j = 0; j < (m)/2; j++)
- {
- if(matr[i][j] > 0)
- {
- left[cnt] = i * MAGIC_NUM + j;
- cnt ++;
- }
- }
- }
- return left;
- }
- int* right_neg(int** matr, int n, int m)
- {
- for(int i = 0; i < n; i++)
- {
- for(int j = m/2; j < m; j++)
- {
- if(matr[i][j] < 0) LEN_RIGHT ++;
- }
- }
- int* right = (int*)malloc(LEN_RIGHT * sizeof(int));
- int cnt = 0;
- printf("%d\n", LEN_RIGHT);
- for(int i = 0; i < n; i++)
- {
- for(int j = m/2; j < m; j++)
- {
- if(matr[i][j] < 0)
- {
- right[cnt] = i * MAGIC_NUM + j;
- cnt ++;
- }
- }
- }
- return right;
- }
- int main(int argc, char const *argv[])
- {
- srand(time(NULL));
- int n, m;
- printf("n = ");
- scanf("%d", &n);
- printf("m = ");
- scanf("%d", &m);
- int** matr = get_matr(n, m);
- print_matr(matr, n, m);
- int* l = left_pos(matr, n, m);
- int* r = right_neg(matr, n, m);
- printf("------------\n");
- for(int i = 0; i < LEN_LEFT; ++i) printf("(%d %d) ", l[i] / MAGIC_NUM, l[i] % MAGIC_NUM);
- printf("\n");
- printf("------------\n");
- for(int i = 0; i < LEN_RIGHT; ++i) printf("(%d %d) ", r[i] / MAGIC_NUM, r[i] % MAGIC_NUM);
- printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement