Форум программистов, компьютерный форум CyberForum.ru

Сравнение двумерных матриц - разобрать код - 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 azim; if( fabs(c) < eps ) { if(( s < 0.0 )^^( c < 0.0 )) http://www.cyberforum.ru/cpp-beginners/thread1244551.html
C++ Нужен справочник по заголовкам и их функциям
Всем привет. Недавно решил научиться программировать на с++ , ранее писал небольшие плагины для игр на pawn. Вроде бы разобрался с синтаксисом и основными моментами, но как написать реальную программу(например, лаунчер) без понятия. У заголовков, как и у функций, названия такие, будто по клаве ударили. Описание на мсдн такое, что поймет только Страуструп. Есть ли какой-то справочник по заголовкам...
C++ Путаница с sftream и операторами << и >>
Значит так, иду спокойно по книжке по темам "Открытие и закрытие текстовых файлов", а также "Чтение и запись текстовых файлов" и тут я немного запутался. Для того чтобы считать информацию из файла, мы используем ifstream, но я ведь привык, что оператор >> используется для ввода информации. То же самое и с помещением информации через объект класса ostream, и опять же я привык, что <<...
C++ Работа с классами и пересечение их между собой (задача о городах и поездах) http://www.cyberforum.ru/cpp-beginners/thread1244503.html
Здравствуйте. Тут попалась в руки задачка, вкратце суть: Есть города, в каждом городе есть станция, на станции пассажиры, у пасажира есть цель поездки(N - ый город). Между городами ездят поезда, в поезде N вагонов, в вагоне N мест. Написать грубо говоря всю эту систему (без графики), поезд прибыл-погрузился-отбыл, ну и естественно не телепортировался, а где-то там медленно двигается по...
C++ Чем отличаются по функционалу Kbhit() и _kbhit() Всем привет. Утолите нубское любопытство. Везде (на msdn, как минимум) пишут пользовать _kbhit() и что при этом происходит. Все просто и понятно. Про kbhit() пишут только, что устарел еще во времена vs2005. И все. А функционально чем они отличаются? подробнее

Показать сообщение отдельно
Ксения love
 Аватар для Ксения love
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 21
19.08.2014, 19:21     Сравнение двумерных матриц - разобрать код
Разобрать суть кода, что в нем описанно, функций

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;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru