Задание
Необходимо создать двумерный массив 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 • Просмотров [ 4386 ]