#c #c 11
#c #c 11
Вопрос:
Я пытаюсь найти максимальную прибыль для жилого комплекса. Я использовал цикл, чтобы найти все разные прибыли, но мне нужно найти максимальное значение прибыли. Как я смогу найти максимальную прибыль? Должен ли я использовать цикл или другой способ сделать это? Я все еще новичок в программировании, помощь очень ценится.
#include <iostream>
using namespace std;
int main()
{
// Containers for all variables
int units;
int rent;
int incrent;
int maintain;
int profit;
// User input
cout << "How many units are being rented: ";
cin >> units;
cout << "How much is rent for each occupied room: $";
cin >> rent;
cout << "How much will rent need to increase for someone to leave: $";
cin >> incrent;
cout << "How much money does it cost to maintain a occupied room: $";
cin >> maintain;
//cout << "At max units rented you make $" << units * rent - maintain << endl;
//Profit calculations
while(units >= 0)
{
cout << "While at " << units << " rented you make $" << (units * rent) - (maintain * units) << endl;
rent = rent incrent;
units--;
}
Комментарии:
1. Некоторые детали отсутствуют. Как вы определяете прибыль? Пример был бы полезен
2. В вашем случае вы перебираете единицы измерения, которые будут принимать те же другие значения, поэтому в вашем случае результат будет одинаковым для всех единиц измерения.
3. Вот простой способ выяснить, как это сделать, и он никогда не перестает работать. Просто достаньте чистый лист бумаги. Запишите, используя короткие простые предложения на простом английском языке, пошаговый процесс выполнения этого. Когда закончите, позвоните своей резиновой утке, чтобы договориться о встрече . После того, как ваша резиновая утка одобрит предложенный вами план действий, просто возьмите то, что вы записали, и переведите это непосредственно на C . Миссия выполнена!
4. Похоже, в коде отсутствует конец
main
…
Ответ №1:
Альтернативой самодельному циклу for является использование std::max_element
like:
#include <iostream>
#include <algorithm>
int main() {
int arr[] = { 4, 1, 2, 5, 7 };
std::cout << *std::max_element(arr, arr 5) << std::endl;
return 0;
}
Ответ №2:
вы можете использовать логику в приведенном ниже коде для решения вашей проблемы, надеюсь, это поможет.
#include <iostream>
using namespace std;
int main() {
//n is the number of elements in the array
int n, largest;
int num[50];
cout<<"Enter number of elements you want to enter: ";
cin>>n;
/* Loop runs from o to n, in such a way that first
* element entered by user is stored in num[0], second
* in num[1] and so on.
*/
for(int i = 0; i < n; i ) {
cout<<"Enter Element "<<(i 1)<< ": ";
cin>>num[i];
}
// Storing first array element in "largest" variable
largest = num[0];
for(int i = 1;i < n; i ) {
/* We are comparing largest variable with every element
* of array. If there is an element which is greater than
* largest variable value then we are copying that variable
* to largest, this way we have the largest element copied
* to the variable named "largest" at the end of the loop
*/
if(largest < num[i])
largest = num[i];
}
cout<<"Largest element in array is: "<<largest;
return 0;
}
Вывод:
Enter number of elements you want to enter: 5
Enter Element 1: 19
Enter Element 2: 21
Enter Element 3: 3
Enter Element 4: 89
Enter Element 5: 13
Largest element in array is: 89