29.03.2013, 03:14 | #1 (permalink) |
Новичок
Регистрация: 29.03.2013
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Объясните код
#include <conio.h> #define ST_M 5 //директива #define определяет идентификатор и последовательность символов, которая будет подставляться вместо идентификатора каждый раз, когда он встретится в исходном файле. #define ST_N 3 void check_static_arr(float arr[ST_M][ST_N], int min_arr[ST_N]) { int i; for (i = 1; i < 5; i++) { if (arr[i][0] < arr[min_arr[0]][0]) min_arr[0] = i; if (arr[i][1] < arr[min_arr[1]][1]) min_arr[1] = i; if (arr[i][2] < arr[min_arr[2]][2]) min_arr[2] = i; } } void check_dynamic_arr(float **dy_arr, int *min_dy_arr, int dy_m, int dy_n) { int i, j; for (i = 0; i < dy_m; i++) { printf("\n"); for (j = 0; j < dy_n; j++) printf("| %2.f |", dy_arr[i][j]); } for (i = 1; i < dy_m; i++) { for (j = 0; j < dy_n; j++) if (dy_arr[i][j] < dy_arr[min_dy_arr[i]][j]) min_dy_arr[j] = i; } } int main() { // Static float arr[ST_M][ST_N] = {2.2, 1.4, 3.5, 3.3, 1.2, 2.3, 1.8, 2.1, 3.4, -0.6, 1.9, 3.2, 0.4, 1.8, 1.7}; int min_arr[ST_N] = {0, 0, 0}; check_static_arr(arr, min_arr); printf("Min of thirst col: %0.1lf (index: [%d][0]) \n", arr[min_arr[0]][0], min_arr[0]); printf("Min of second col: %0.1lf (index: [%d][1]) \n", arr[min_arr[1]][1], min_arr[1]); printf("Min of third col: %0.1lf (index: [%d][2]) \n", arr[min_arr[2]][2], min_arr[2]); // Dynamic int dy_m, dy_n, i, j; float **dy_arr; int *min_dy_arr; printf("\n\nInsert M x N for dynamic row\n"); scanf("%d%d", &dy_m, &dy_n); min_dy_arr = malloc(dy_n * sizeof(int)); for (j = 0; j < dy_n; j++) min_dy_arr[j] = 0; dy_arr = malloc(dy_m * sizeof(float)); for (i = 0; i < dy_m; i++) dy_arr[i] = malloc(dy_n * sizeof(float)); printf("\n"); for (i = 0; i < dy_m; i++) for (j = 0; j < dy_n; j++) scanf("%f", &dy_arr[i][j]); check_dynamic_arr(dy_arr, min_dy_arr, dy_m, dy_n); printf("\n"); for (j = 0; j < dy_n; j++) printf("Min of %d col: %0.1lf (index: [%d][%d]) \n", (j + 1), dy_arr[min_dy_arr[j]][j], min_dy_arr[j], j); // Post scriptum getch(); return 0; } |
29.03.2013, 03:14 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Однородные проблемы уже обсуждались, пожалуйста, обратите на них внимание Объясните новичку Объясните цену Объясните разницу |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|