Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int **CreateArray(int N, int M, int min, int max){ // min, max - диапазон рандомных значений матрицы, Н,М - ее размеры
- int **Arr = NULL;
- if(max < min)
- {
- int s = min;
- min = max;
- max = s;
- }
- Arr = (int**) malloc(N*sizeof(int*)); // Выделяем память для массива
- if(Arr == NULL) return NULL;
- for(int k = 0; k < N; k++){
- Arr[k] = (int*) malloc(M*sizeof(int));
- if(Arr[k] == NULL)
- { // Если в процессе выеделения памяти произошла ошибка, то вся память
- for(int i = 0; i < k; i++) // Освобождается
- free(Arr[i]);
- free(Arr);
- return NULL;
- }
- }
- for(int i = 0; i < N; i++){ // Наполняем массив значениями
- for(int j = 0; j < M; j++){
- Arr[i][j] = rand()%(max - min + 1) + min; // Тут формула, как найти рандомное число
- }
- }
- return Arr;
- }
- int main()
- {
- srand(time(NULL));
- const int N = rand()%4+1; // %11+1
- int ** x = CreateArray(N, N, 0, 1);
- if(x == NULL){ // Проверка
- printf("Error.\n");
- return 0;
- }
- for(int i = 0; i < N; i++) // Выводим x в консоль
- {
- for(int j = 0; j < N; j++)
- {
- printf("%d, ", x[i][j]);
- }
- printf("\n");
- }
- printf("\n");
- int counter = 0;
- for(int i = N-1; i > 0; i--)
- {
- for(int j = 0; j < i; j++)
- {
- if(x[i][j] != x[j][i]) {
- printf("Ne simmetri4na.\n");
- return 0;
- }
- }
- }
- printf("Simmetri4na");
- for (int i = 0; i < N; i++) { // Освобождаем память
- free(x[i]);
- }
- free(x);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement