Отображение минимального значения в массиве

Хорошо, мне также нужно рассчитать и отобразить каждую высоту после 5% увеличения, используя отдельный массив из 10 элементов. Есть идеи? Извините за все это. Я впервые использую массивы.

#include <iostream>

using namespace std;

int main()
{
int MINheight = 0;
double height[10];
for (int x = 0; x < 10; x = x + 1)
{
height[x] = 0.0;
}

cout << "You are asked to enter heights of 10 students. "<< endl;
for (int x = 0; x < 10; x = x + 1)
{
cout << "Enter height of a student: ";
cin >> height[x];
}

system("pause");
return 0;
}

0

Решение

Просто зациклите вот так:

MINheight = height[0];
for (int x = 1; x < 10; x++)
{
if (height[x] < MINheight)
{
MINheight = height[x];
}
}
std::cout << "minimum height " << MINheight <<std::endl;

Примечание: вы не должны называть локальную переменную, начинающуюся с заглавной буквы, используя x так как индекс массива тоже немного странный, хотя они оба работают нормально, но не в хорошем стиле.

Вы также можете использовать std::min_element следующее:

std::cout << *std::min_element(height,height+10) << std::endl;
//^^using default comparison

Чтобы поместить элементы в отдельный массив с увеличенной высотой и отобразить их, выполните следующие действия:

float increasedHeights[10] = {0.0};
for (int i = 0; i < 10;  ++i)
{
increasedHeights[i] = height[i] * 1.05;
}

//output increased heights
for (int i = 0; i < 10;  ++i)
{
std::cout << increasedHeights[i] << std::endl;
}
3

Другие решения

По сути, вы можете отслеживать минимальное значение при его вводе, поэтому:

cout << "You are asked to enter heights of 10 students. "<< endl;

MINheight = numerical_limits<int>::max
for (int x = 0; x < 10; x = x + 1)
{
cout << "Enter height of a student: ";
cin >> height[x];
if(height[x] < MINheight)MINheight = height[x];
}
cout << "Minimum value was: " << MINheight << "\n";

Это создает переменную с максимально возможным значением, а затем, когда пользователь вводит новое значение, проверяет, меньше ли оно текущего минимума, если это так, сохраняйте его. Затем распечатайте текущий минимум в конце.

1

По вопросам рекламы [email protected]