# Help! problem with arrays

• April 23rd, 2012, 06:58 PM
juliani91
Help! problem with arrays
A local zoo wants to keep track of how many pounds of food each of its three monkeys eats
each day during a typical week. Write a program that stores this information in a twodimensional
3 × 7 array, where each row represents a different monkey and each column
represents a different day of the week. The program should first have the user input the data
for each monkey. Then it should create a report that includes the following information:
• Average amount of food eaten per day by the whole family of monkeys.
• The least amount of food eaten during the week by any one monkey.
• The greatest amount of food eaten during the week by any one monkey.
Input Validation: Do not accept negative numbers for pounds of food eaten.

This part is the one that I don't understand: • The greatest amount of food eaten during the week by any one monkey.

This is so far what I have:

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
double totalAverage =0;
int monkey, day;

const int NUM_MONKEYS = 3;
const int NUM_DAYS = 7;
double average [NUM_MONKEYS][NUM_DAYS];
double highest, lowest;

cout << "Enter the amount of food in pounds eaten by the referred monkey.\n";

for (monkey = 0; monkey < NUM_MONKEYS; monkey++)
{
for (day = 0; day < NUM_DAYS; day++)
{
cout << "Monkey " << (monkey + 1) << ", "
<< "Day " << (day + 1) << ": ";
cin >> average [monkey][day];
while ((average [monkey][day] < 0))
{
cout << "Please enter positive values.\n";
cin >> average [monkey][day];
}
}
cout << endl;
}

for (monkey = 0; monkey < NUM_MONKEYS; monkey++)
{
for (day =0; day< NUM_DAYS; day++)

totalAverage += average [monkey][day]/ NUM_DAYS; // I don't get this part on how to get the average per day for each monkey.
}
//
for (monkey = 0; monkey < NUM_MONKEYS; monkey++)
{
for (day =0; day< NUM_DAYS; day++)
{
if ((average [monkey][day]) > highest)
highest = average [monkey][day];
}
//
}
for (monkey = 0; monkey < NUM_MONKEYS; monkey++)
{
for (day =0; day< NUM_DAYS; day++)
{
if ((average [monkey][day]) ) LOWEST Y PUES NOSE :S
lowest = average [monkey][day];
}
//
}
cout << fixed << showpoint << setprecision (2); DOUBLE
cout << "The average amount is: " << totalAverage << endl;
cout << "The highest amount is: " << highest << endl;
cout << "The lowest amount is: " << lowest << endl;

system ("PAUSE");
return 0;
}
• April 24th, 2012, 12:38 PM
mlgoff
Re: Help! problem with arrays
```#include <iostream> #include <iomanip> using namespace std; int main() {     double totalAverage =0;     int monkey = 0, day = 0;     int entered_value;     const int NUM_MONKEYS = 3;     const int NUM_DAYS = 7;     double average [NUM_MONKEYS][NUM_DAYS];     double highest = 0, lowest;     double monkeys[NUM_MONKEYS];     memset(&monkeys[0], 0, sizeof(monkeys));     memset(&average[0], 0, sizeof(average));     cout << "Enter the amount of food in pounds eaten by the referred monkey.\n";     for (monkey = 0; monkey < NUM_MONKEYS; monkey++)     {         for (day = 0; day < NUM_DAYS; day++)         {             cout << "Monkey " << (monkey + 1) << ", "             << "Day " << (day + 1) << ": ";             cin >> average [monkey][day];             while ((average [monkey][day] < 0))             {                 // Ensure that negative numbers are not accepted.                 entered_value = -1;                 while (entered_value < 0)                 {                     cout << "Please enter positive values.\n";                     cin >> entered_value;                     if (entered_value > -1)                     {                         average [monkey][day] = entered_value;                     }                     else                     {                         cout << "Negative values are not accepted.\n";                     }                 }             }         }         cout << endl;     }     for (monkey = 0; monkey < NUM_MONKEYS; monkey++)     {         // Get the total amount of food eaten during the week         for (day =0; day< NUM_DAYS; day++)         {             // Store the total amount eaten by each monkey             monkeys[monkey] += average [monkey][day];         }     }     // Compute the average amount eaten by all monkeys each day.     totalAverage = monkeys[0] + monkeys[1] + monkeys[2];     totalAverage =  totalAverage / NUM_DAYS;     // Compare the amounts eaten by each monkey to determine which one ate the most.     for (monkey = 0; monkey < NUM_MONKEYS - 1; monkey++)     {         if (monkeys[monkey] > monkeys[monkey + 1])         {             if (monkeys[monkey] > highest)             {                 highest = monkeys[monkey];             }         }         else         {             highest = monkeys[monkey + 1];         }     }     if (monkeys[0] < monkeys[1] &&         monkeys[0] < monkeys[2])     {         lowest = monkeys[0];     }     else if (monkeys[1] < monkeys[2])     {         lowest = monkeys[1];     }     else     {         lowest = monkeys[2];     }     cout << fixed << showpoint << setprecision (2); // DOUBLE     cout << "The average amount is: " << totalAverage << endl;     cout << "The highest amount is: " << highest << endl;     cout << "The lowest amount is: " << lowest << endl;     system ("PAUSE");     return 0; }```