Процедура построения одномерного массива из минимальных элементов каждой строки матрицы - C (СИ)
Формулировка задачи:
Вечер добрый. У меня возникла проблема с использованием процедуры в программе. Алгоритм программы: я ввожу двухмерный массив, после из него формируется и выводится одномерный массив(каждый элемент одномерного массива равен минимальному элементы каждой строки двухмерного массива). Написать саму процедуру я смог, но как её использовать в основной программе я не могу понять.
#include <stdio.h> #include <conio.h> #define n 4 #define m 5 void mass1(int i, int j, float min) // построение одномерного массива А1 из минимальных элементов каждой строки массива А. { float M2[i][j]; float M1[i]; for (i=0; i<n; i++) { min=M2[i][0]; for (j=0; j<m; j++) { if (M2[i][j] < min) min=M2[i][j]; } M1[i]=min; } int main() { int i, j; float A[n][m], min, min1, M1; for (i=0; i<n; i++) { for (j=0; j<m; j++) { printf("vvedite A[%d][%d]", i, j); scanf("%f", &A[i][j]); // ввод массива A. } } printf("massiv A:\n"); printf("\n"); for (i=0; i<n; i++) { for (j=0; j<m; j++) printf("%.1f\t", A[i][j]); // вывод массива А. printf("\n"); } printf("\n"); printf("massiv iz min elementov massiva A(A1):" ); А вот дальше как использовать процедуру я не могу понять. }
Решение задачи: «Процедура построения одномерного массива из минимальных элементов каждой строки матрицы»
textual
Листинг программы
#include <stdlib.h> #include <stdio.h> #include <time.h> enum{ N = 4, M = 5 }; void func(int [][M], int []); int main(void){ srand(time(NULL)); int matrix[N][M]; for (int r = 0; r < N; ++r){ for (int c = 0; c < M; ++c) matrix[r][c] = rand() % 10; } for (int r = 0; r < N; ++r){ for (int c = 0; c < M; ++c) printf("%d ", matrix[r][c]); printf("\n"); } printf("\n"); int vector[N]; func(matrix, vector); for (int i = 0; i < N; ++i) printf("%d ", vector[i]); printf("\n"); return EXIT_SUCCESS; } void func(int matrix[][M], int vector[]){ for (int r = 0; r < N; ++r){ vector[r] = matrix[r][0]; for (int c = 1; c < M; ++c){ if (vector[r] < matrix[r][c]) vector[r] = matrix[r][c]; } } }
Объяснение кода листинга программы
Вывод:
- Объявлены массив и переменные
- Заполнены массив и вектор
- Выведена матрица
- Выведен вектор
- Выполняется функция func
- В функции func выводится минимальный элемент каждой строки матрицы в вектор
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д