Минимальное и максимальное значение в массиве
1 минут
Попросили решить несколько задач, я решил выложить их сюда, может быть это будет полезно многим.
Задача🔗︎
Ввести два одномерных массива равной длинны, сформировать третий по правилу Сi = Ai / max(B)
. Для каждого массива вычислить значение минимального элемента. Вывести на экран все массивы и результат.
Решение на C++🔗︎
#include <iostream>
float array_max(float array[], int a_size);
float array_min(float array[], int a_size);
void print_result(float array[], int array_size, int num);
void input_array(float *array, int array_size, int num);
int main()
{
int array_size;
std::cout << "Введи размер массивов: ";
std::cin >> array_size;
float *array_a = new float [array_size];
input_array(array_a, array_size, 1);
float *array_b = new float [array_size];
input_array(array_b, array_size, 2);
float *array_c = new float [array_size];
float b_max = array_max(array_b, array_size);
for (int i = 0; i < array_size; i++) {
array_c[i] = array_a[i] / b_max;
}
print_result(array_a, array_size, 0);
print_result(array_b, array_size, 1);
print_result(array_c, array_size, 2);
return 0;
}
void input_array(float *array, int array_size, int num)
{
for (int i = 0; i < array_size; i++) {
std::cout << "Введи значение " << i << " для массива №" << num << ": ";
std::cin >> array[i];
}
}
float array_max(float array[], int a_size)
{
float max = array[0];
for (int i = 1; i < a_size; i++) {
if (max < array[i]) {
max = array[i];
}
}
return max;
}
float array_min(float array[], int a_size)
{
float min = array[0];
for (int i = 1; i < a_size; i++) {
if (min > array[i]) {
min = array[i];
}
}
return min;
}
void print_result(float array[], int array_size, int num)
{
float min_a = array_min(array, array_size);
std::cout << "Массив №" << num << "(минимальное - " << min_a << "): ";
for (int i = 0; i < array_size; i++) {
std::cout << array[i] << " ";
}
std::cout << std::endl;
}