Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdlib.h>
- #include <time.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- #include <limits.h>
- int** create_matrix(int n)
- {
- int i;
- int** res = calloc(n, sizeof(int*));
- for (i = 0; i < n; i++)
- {
- res[i] = calloc(n, sizeof(int));
- }
- return res;
- }
- int** rand_gen(int** a, int n)
- {
- int i, j;
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- a[i][j] = rand()%5;
- }
- }
- return a;
- }
- int** matrix_mul(int n, int** m1, int** m2)
- {
- int i, j, k;
- int** res = create_matrix(n);
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- res[i][j] = 0;
- for (k = 0; k < n; k++)
- {
- res[i][j] += m1[i][k] * m2[k][j];
- }
- }
- }
- return res;
- }
- int** matrix_sum(int n, int** m1, int** m2)
- {
- int i, j;
- int** res = create_matrix(n);
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- res[i][j] = m1[i][j] + m2[i][j];
- }
- }
- return res;
- }
- int main()
- {
- double time_spend = 0.0;
- clock_t begin = clock();
- srand(time(NULL));
- int n, i, j;
- scanf_s("%d", &n);
- int** matr1 = create_matrix(n);
- int** matr2 = create_matrix(n);
- FILE* F;
- FILE* F1;
- F = fopen("input.txt", "w");
- F1 = fopen("output.txt", "w");
- int** matr11 = create_matrix(n);
- matr11 = rand_gen(matr1, n);
- int** matr22 = create_matrix(n);
- matr22 = rand_gen(matr2, n);
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- fprintf(F, "%d ", matr1[i][j]);
- matr1[i][j] = 0;
- }
- fprintf(F, "\n");
- }
- fprintf(F, "\n");
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- fprintf(F, "%d ", matr2[i][j]);
- matr2[i][j] = 0;
- }
- fprintf(F, "\n");
- }
- fclose(F);
- F = fopen("input.txt", "r");
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- fscanf(F, "%d", &matr1[i][j]);
- }
- }
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- fscanf(F, "%d", &matr2[i][j]);
- }
- }
- matr11 = matrix_mul(n, matr1, matr2);
- matr22 = matrix_sum(n, matr1, matr2);
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- fprintf(F1, "%d ", matr11[i][j]);
- }
- fprintf(F1, "\n");
- }
- fprintf(F1, "\n");
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- fprintf(F1, "%d ", matr22[i][j]);
- }
- fprintf(F1, "\n");
- }
- int min = INT_MAX;
- int x, y, count = 0;
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- if (matr1[i][j] < min)
- {
- min = matr1[i][j];
- x = i;
- y = j;
- }
- if (matr1[i][j] % 2 == 0)
- {
- count++;
- }
- }
- }
- printf("coord %d %d\n", x, y);
- printf("nechet %d \n", count);
- for (i = 0; i < n; i++)
- {
- free(matr1[i]);
- free(matr2[i]);
- free(matr11[i]);
- free(matr22[i]);
- }
- free(matr1);
- free(matr2);
- free(matr11);
- free(matr22);
- clock_t end = clock();
- time_spend += (double)(end - begin) / CLOCKS_PER_SEC;
- printf("time by echpochmak= %lf", time_spend);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement