Задание
Необходимо создать двумерный массив 5 х 5. Далее написать функцию, которая заполнит его случайными числами от 30 до 60. Создать еще две функции, которые находят максимальный и минимальный элементы этого двумерного массива.
Листинг кода

#include "iostream"
#include "ctime"
#include "cstdlib"
 
using namespace std;
 
const int SIZE = 5;
 
void fillAndShowArray(int[][SIZE], const int size);
int findMinElement(int[][SIZE], const int size);
int findMaxElement(int[][SIZE], const int size);
 
int main()
{
 setlocale(LC_ALL, "rus");
 
 int matrix[SIZE][SIZE] = {};
 
 fillAndShowArray(matrix, SIZE); //заполняем и показываем массив
 
 cout << endl;
 cout << "Минимум: " << findMinElement(matrix, SIZE) << endl;
 cout << "Максимум: " << findMaxElement(matrix, SIZE) << endl;
 
 return 0;
}
 
void fillAndShowArray(int arr[][SIZE], const int size)
{
 for (int i = 0; i < size; i++)
 {
 cout << "| ";
 for (int j = 0; j < size; j++)
 {
 arr[i][j] = 30 + rand() % 31;
 
 cout << arr[i][j] << " ";
 }
 cout << " |" << endl;
 }
}
 
int findMinElement(int arr[][SIZE], const int size)
{
 int min = arr[0][0];
 for (int i = 0; i < size; i++)
 {
 for (int j = 0; j < size; j++)
 {
 if (arr[i][j] < min)
 min = arr[i][j];
 }
 }
 return min;
}
 
int findMaxElement(int arr[][SIZE], const int size)
{
 int max = arr[0][0];
 for (int i = 0; i < size; i++)
 {
 for (int j = 0; j < size; j++)
 {
 if (arr[i][j] > max)
 max = arr[i][j];
 }
 }
 return max;
}
Чтобы найти минимальное значение в массиве, сначала присваиваем переменной min, которая определена в функции findMinElement(), значение ячейки arr[0][0]:
nt min = arr[0][0];
Потом проходим по всем ячейкам двумерного массива. Если встретим значение меньше того, которое было записано в min в начале – перезаписываем эту переменную. Максимальное значение определяется похожим образом.
результат


 Похожие публикации
2015-06-29 • Просмотров [ 431 ]