Матрицы в Си (оптимизация кода) - C (СИ)
Формулировка задачи:
Здравствуйте, вообщем написал программу для создания матриц по правилу, решил оптимизировать код и сделать нахождения максимума и минимума в одном цикле, но так почему то не работает. В чём причина? В голове пробежал псевдо массив и вроде бы всё должно быть правильно, но нет находит только минимум а максимум некоректен.Тут код рабочий:
#include#include #include #include #define N 3 #define Y 4 void main() { int i, j, o, p, a[N][Y]; srand(time(NULL)); //Создание первой матрицы for (i=0; i \t",a[i][j]); } printf("\n"); } //Вычисление минимального и максимального элемента в первой матрице int min=a[0][0]; for (i = 0; i < N; ++i) { for (j = 0; j < Y; ++j) { if (min>a[i][j]){ min=a[i][j]; } else max=a[i][j]; } } printf("min=%d\n",min); printf("max=%d\n",max); int b[N][Y]; srand(time(NULL)); //Создание второй матрицы по правилу(строка 52) for (o=0; o \t",b[o][p]); } printf("\n"); } }
#include#include #include #include #define N 3 #define Y 4 void main() { int i, j, o, p, a[N][Y]; srand(time(NULL)); //Создание первой матрицы for (i=0; i \t",a[i][j]); } printf("\n"); } //Вычисление минимального элемента в первой матрице int min=a[0][0]; for (i = 0; i < N; ++i) { for (j = 0; j < Y; ++j) { if (min>a[i][j]){ min=a[i][j]; } } } printf("min=%d\n",min); //Вычисляем максимум в первой матрице int max=a[0][0]; for (i = 0; i < N; ++i) { for (j = 0; j < Y; ++j) { if (max\n",max); int b[N][Y]; srand(time(NULL)); //Создание второй матрицы по правилу(строка 52) for (o=0; o \t",b[o][p]); } printf("\n"); } }
Решение задачи: «Матрицы в Си (оптимизация кода)»
textual
Листинг программы
//Вычисление минимального и максимального элемента в первой матрице int min=a[0][0]; int max=a[0][0]; for (i = 0; i < N; ++i) { for (j = 0; j < Y; ++j) { if (max<a[i][j]){ max=a[i][j]; } if (min>a[i][j]){ min=a[i][j]; } } }
Объяснение кода листинга программы
- Вычисление минимального и максимального элемента в первой матрице
- Переменные для хранения минимального и максимального элемента
- Инициализация переменных min и max значением первого элемента матрицы a[0][0]
- Циклы для обхода всех элементов матрицы
- Проверка каждого элемента матрицы на предмет того, является ли он максимальным или минимальным
- Если найден элемент, который является максимальным или минимальным, то обновляются значения переменных min и max
- После завершения циклов, min и max содержат минимальное и максимальное значение матрицы соответственно
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д