can you look at this and see what i'm doing wrong?
#include <iostream.h>
#include <fstream.h>
int sum = 0;
int array [2][7];
int sum()
{
for (int i = 0; x<2;x++)
{
for (int j = 0; y<7; j++)
{
sum = array[i][j];
}
}
}
int smallArray()
{
int smallest=array[0];
for(int x=1;x<array_size;x++)
{if (smallest>array[x])smallest=array[x];}
cout<<smallest;
}
void main()
//Declare and initialize array
{
int num[2][7] = {0,0};
int hold[2][7];
//Load 14 integers into aray
for (int x =0; x < 2; ++x)
{
for (int y = 0; y < 7; ++y)
{
cout << "Press a whole number then hit enter ";
cin >> hold [x][y];
}
}
}
// Biggest array function
{
int bigArray()
int biggest=array[0];
for(int x=1;x<array_size;x++)
{if (biggest<array[x])biggest=array[x];}
cout<<biggest;
cout << "Choose 1 for biggest number ";
cout << "Choose 2 for smallest number ";
cout << "Choose 3 for the sum of all numbers in array ";
cin >> menu;
if (menu==1)
cout << bigArray() << endl;
cout << endl;
if (menu==2)
cout << smallArray() << endl;
cout << endl;
if (menu==3)
cout << sumArray() <<endl;
cout << endl;
}
int smallArray()
{
int smallest=array[0];
for(int x=1;x<array_size;x++)
{if (smallest>array[x])smallest=array[x];}
cout<<smallest;
}
0
Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.
I made a slight mistake in the code I sent you and I just caught it in mine and in yours.
int sum = 0;
int array [2][7];
for (int i = 0; i<2;i++)
{
for (int j = 0; j<7; j++)
{
sum += array[i][j];
}
}
You, (we) cannot just say:
sum = array[i][j]
because then we are just reassigning sum the value in the array at the values of i and j and will ultimately just end up with sum = the value at array[2][7] since that will be the last number that goes through. We have to increment sum each time through the for loop to add the values you want,
sum = array[0][0]+array[0][1]+array[0][2].....+ array[2][6] + array[2][7]
Try fixing your sum function to the above and let me know how it works.
You are making this program much more difficult then it needs to be. I would suggest starting over as painful as that sounds. You need to unit test as you go. For example, first write a program that reads in a 2X7 array and output it to make sure that part works, then try summing the array, once that is tested then try to find the largest integer and so on. It looks like you wrote all of the code in one lump...that is NEVER a good idea when you program, it makes tasks like debugging very difficult because you cannot eliminate any one area. Does this make sense?
/* declaration; void since you are coutint the value you are not actually passing it */
void smallArray(array[2][7]);
// define the function:
void smallArray(array[][])
{
// give smallest some huge number
int smallest =100000000;
// loop through the array to search
for(int x=0; x<2; x++)
{
for (int y = 0; y< 7; y++)
{
if (smallest < array[x][y])
smallest=array[x][y];
}
}
// to output value to screen
cout << smallest;
/* to return the value out of the function- need to make the void an integer if you do this*/
return smallest;
}
int array [2][7];
for (int i = 0; i<2;i++)
{
for (int j = 0; j<7; j++)
{
sum = array[i][j];
}
}