Форум программистов, компьютерный форум, киберфорум
Наши страницы

Сравнение двумерных матриц - разобрать код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить загруженность ядер процессора http://www.cyberforum.ru/cpp-beginners/thread1244562.html
Помогите определить загруженность ядер процессора (может как-нибудь получить эти данные из системы).
C++ Стабильный код и xor Доброго времени! Есть такой код:double azim = degrees( atan( s/c )); Проблема в том что c может быть нулём, поэтому вышележащий код быстро превратился в: const double eps = 1e-10; double... http://www.cyberforum.ru/cpp-beginners/thread1244551.html
C++ Нужен справочник по заголовкам и их функциям
Всем привет. Недавно решил научиться программировать на с++ , ранее писал небольшие плагины для игр на pawn. Вроде бы разобрался с синтаксисом и основными моментами, но как написать реальную...
C++ Путаница с sftream и операторами << и >>
Значит так, иду спокойно по книжке по темам "Открытие и закрытие текстовых файлов", а также "Чтение и запись текстовых файлов" и тут я немного запутался. Для того чтобы считать информацию из...
C++ Работа с классами и пересечение их между собой (задача о городах и поездах) http://www.cyberforum.ru/cpp-beginners/thread1244503.html
Здравствуйте. Тут попалась в руки задачка, вкратце суть: Есть города, в каждом городе есть станция, на станции пассажиры, у пасажира есть цель поездки(N - ый город). Между городами ездят...
C++ Чем отличаются по функционалу Kbhit() и _kbhit() Всем привет. Утолите нубское любопытство. Везде (на msdn, как минимум) пишут пользовать _kbhit() и что при этом происходит. Все просто и понятно. Про kbhit() пишут только, что устарел еще во... подробнее

Показать сообщение отдельно
Ксения love
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 21

Сравнение двумерных матриц - разобрать код - C++

19.08.2014, 19:21. Просмотров 1525. Ответов 27
Метки (Все метки)

Разобрать суть кода, что в нем описанно, функций

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
int** create_matrix(int n, int m,int tip)
{
    int**variable= NULL; //переменная
    variable = (int**)malloc(sizeof(int*)*n);
    for(int i=0;i<n;i++)
        variable[i]=(int*)malloc(sizeof(int)*m);
    printf("Matrix_successfully_created\n",n,m);//матрицу успешно созданно
    rand_value(variable,n,m); //рандомное значение
    return variable;
}
//----------------------------------------------------------------------------------
void free_memory(int*** matrix,int n)
{
    if((*matrix==NULL) || (matrix == NULL))
    {
        printf("memory_deleted");
    }else
    {
        for(int i=0;i < n;i++)
        {
            free(matrix[i]);
        }
        free(*matrix);
        *matrix=NULL;
    }
}
//----------------------------------------------------------------------------------
int** rand_value(int** matrix, int n, int m)
{
    srand(time(NULL));
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            matrix[i][j]=rand()%20;
    check (matrix,n,m);
    return matrix;
}
//----------------------------------------------------------------------------------
int* find_max_min(int** matrix,int n,int m)
{
    if((matrix==NULL)||(n==0)||(m==0))
    {
        printf("First_create_a_matrix");// сначала создайте матрицу
        return NULL;
    } else
    {
        int max=matrix[0][0];
        int max_k_n=0,max_k_m=0;
        int min=matrix[0][0];
        int min_k_n=0,min_k_m=0;
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                if(matrix[i][j] > max)
                {
                    max = matrix[i][j];
                    max_k_n=i;
                    max_k_m=j;
                }
                if(matrix[i][j] < min)
                {
                    min = matrix[i][j];
                    min_k_n=i;
                    min_k_m=j;
                }
            }
        }
        int *return_matrix = (int*)malloc(sizeof(int)*4);
        return_matrix[0]=max_k_n;
        return_matrix[1]=max_k_m;
        return_matrix[2]=min_k_n;
        return_matrix[3]=min_k_m;
        return return_matrix;
    }
}
//----------------------------------------------------------------------------------
void find_value(int** matrix, int n, int m, int value)
{
    if((matrix==NULL)||(n==0)||(m==0))
    {
        printf("First_create_a_matrix");
    } else
    {
        int find=0;
        int index=0;
        int** variable;
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                if(matrix[i][j] == value)
                    find++;
        variable = (int**)malloc(sizeof(int*)*find);
        for(int i=0;i<find;i++)
            variable[i]=(int*)malloc(sizeof(int)*2);
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                if(matrix[i][j] == value)
                {
            variable[index][0]=i;
            variable[index][1]=j;
            index++;
        }
        for(int i=0;i<find;i++)
            printf("n=%d,m=%d\n",variable[i][0],variable[i][1]);
    }
}
//----------------------------------------------------------------------------------
int** compare(int** matrix,int** matrix2,int n,int m)
{
    if((matrix==NULL)||(n==0)||(m==0))
    {
        printf("First_create_a_matrix");
        return NULL;
    } else
    {
        int** matrix3 = create_matrix(n,m,1);
        printf("First_matrix:\n");//первая
        check(matrix,n,m);
        printf("second:\n");//вторая
        check(matrix2,n,m);
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
            {
            if(matrix[i][j] > matrix2[i][j])
            {
                matrix3[i][j]=matrix[i][j];
            }else
            {
                matrix3[i][j]=matrix3[i][j];
            }
        }
        printf("The_compare_is_successful\n"); //Сравнение прошло успешно.
        return matrix3;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru