position of lowest and highest values of array
I have to find the position of the lowest and highest values of an array.The array starts at 0.For example:
INPUT:5
8 7 9 2 5
OUTPUT: 4 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
#include <iostream>
using namespace std;
int main()
{ int n, a[1000],i, min=999999, max=0;
int *imin,*imax;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++)
if(a[i]<min)
{min=a[i];
imin=&a[i];}
for(i=0;i<n;i++)
if(a[i]>max)
{max=a[i];
imax=&a[i];}
cout<<imin<<" "<<imax;
return 0;
}
|
I can't understand what I'm doing wrong since my program displays 0x22ef64 0x22ef60 for the values I mentioned before.
I know it works like that, but I wanted to implement pointers into my exercises.
Oh, I see. You still need an index. How about something like:
1 2 3 4 5 6 7 8 9
|
int* ap=a; //decl pointer, same as int* ap=&a[0]
...
for(i=0; i<n; i++) {
if(*ap < min) {
min = *ap; //dereference
imin = i;
}
ap++; //next element
}
|
Last edited on
omg I can't believe I missed that! Thank you so much!!!
Topic archived. No new replies allowed.