| | |
Displaying lowest/highest in an Array?
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
here is code for ur problem:
C++ Syntax (Toggle Plain Text)
#include<iostream.h> int main() { int array[1000000],n; int high,low; cout<<"Enter the no of values u want to enter"); cin>>n; /* Now entering the values in array*/ for(i=0;i<n;i++) cin>>array[i]; /* The highest no is*/ high=array[0]; for(i=0;i<n;i++) { if(a[i+1]>a[i]) { high=a[i+1]; } else { high=a[i]; } } puts<<"the highest number in array is"<<high; //sSimilarly u can do for lowest number return 0; }
Thanks and Warm Regards:
Ishaan
Ishaan
>here is code for ur problem
Giving away homework answers is frowned upon here.
>#include<iostream.h>
We're well beyond the point where this will fail to compile on many modern compilers. I recommend you get with the times.
>int array[1000000]
This is a terrible waste of memory and it's also a broken design. You don't take into account that n could contain a value greater than 999999, which is a blatant security risk and certainly doesn't make for a robust program.
>if(a[i+1]>a[i])
Let's say that n is 1000000 and i is at the end of the loop with 999999. What happens when you index a[i + 1]?
>puts<<"the highest number in array is"<<high;
I'd say you should stick to C, but your program is broken in either language.
Giving away homework answers is frowned upon here.
>#include<iostream.h>
We're well beyond the point where this will fail to compile on many modern compilers. I recommend you get with the times.
>int array[1000000]
This is a terrible waste of memory and it's also a broken design. You don't take into account that n could contain a value greater than 999999, which is a blatant security risk and certainly doesn't make for a robust program.
>if(a[i+1]>a[i])
Let's say that n is 1000000 and i is at the end of the loop with 999999. What happens when you index a[i + 1]?
>puts<<"the highest number in array is"<<high;
I'd say you should stick to C, but your program is broken in either language.
I'm here to prove you wrong.
•
•
Join Date: Jul 2008
Posts: 89
Reputation:
Solved Threads: 10
Hi,
Hire is the code.
you should do defensive programming if you want to improve it.
Any sugestiong on how to improve this code will be highly appritiated. I am new to C++;
Hope this help.
Camilo
Hire is the code.
C++ Syntax (Toggle Plain Text)
#include <cstdlib> #include <iostream> #include <sstream> #include <string> using namespace std; int main() { int arrayLength = 0; cout << "Enter the numbers of elements of the array: "; cin >> arrayLength; int array[arrayLength]; int index = 0; int lowest ;//Here you could assing the 'int' highest value even though I've read that depends on sytem the prorgram is compiled 32-bits... But maybe there is a funtion that give you the value at run time. Or simple depending on the system.(I'm new to C++) int highest ;//Here you could assing the 'int' lowest value. //Capturing the entries and getting the lowest and highest values. do { cout << "Enter value number " << index << " :" ; cin >> array[index];//Here you should use get_line() cout << endl; //Remove this if statement if you initialize the value as mentioned above. if(index == 0) { cout << "index == 0"; lowest = array[0]; highest = array[0]; } if(lowest > array[index]) lowest = array[index]; if(highest < array[index]) highest = array[index]; index++; } while(index < arrayLength); cout << "The highest value is: " << highest << " And the lowest is: " << lowest << endl; system("PAUSE"); return 0; }
you should do defensive programming if you want to improve it.
Any sugestiong on how to improve this code will be highly appritiated. I am new to C++;
Hope this help.
Camilo
Last edited by camilojvarona; Jul 21st, 2008 at 11:45 am.
>Hire is the code.
Giving away homework answers is still frowned upon here.
>#include <sstream>
>#include <string>
You don't use either of these, so remove them.
>using namespace std;
If you must use this, keep its scope limited as much as possible. In case you didn't know, you can use this in a block and its effect will only apply to that function:
>int array[arrayLength];
While this may work for you, it's not going to work everywhere. Standard C++ requires that array sizes must be a compile-time constant. Arrays with a runtime size are only allowed as a compiler extension, so your code is not portable. If you really want this feature, use a vector instead.
>//Here you could assing the 'int' highest value even though I've read that depends on OS
>32b 64 and I am not sure if I've read that also depends on the compiler. But maybe there
>is a funtion that give you the value at run time.(I'm new to C++)
I assume you mean initializing the variable to the largest possible value. You can do that several ways, but all of them are pointless in this case as this doesn't make the code any clearer. It's better simply to set both largest and smallest to array[0] and update as necessary as you iterate through the values.
>cin >> array[index];//Here you should use get_line()
So should you. If you want to talk about how things should be done, just go ahead and do them instead of confusing people with poorly described potential options.
>system("PAUSE");
Get used to not using this. It's terribly unsafe.
Giving away homework answers is still frowned upon here.
>#include <sstream>
>#include <string>
You don't use either of these, so remove them.
>using namespace std;
If you must use this, keep its scope limited as much as possible. In case you didn't know, you can use this in a block and its effect will only apply to that function:
C++ Syntax (Toggle Plain Text)
#include <iostream> void foo(); int main() { using namespace std; cout<<"Hello, world!\n"; foo(); } void foo() { // std:: is required because "using namespace std" // only applies to the main function std::cout<<"foo\n"; }
While this may work for you, it's not going to work everywhere. Standard C++ requires that array sizes must be a compile-time constant. Arrays with a runtime size are only allowed as a compiler extension, so your code is not portable. If you really want this feature, use a vector instead.
>//Here you could assing the 'int' highest value even though I've read that depends on OS
>32b 64 and I am not sure if I've read that also depends on the compiler. But maybe there
>is a funtion that give you the value at run time.(I'm new to C++)
I assume you mean initializing the variable to the largest possible value. You can do that several ways, but all of them are pointless in this case as this doesn't make the code any clearer. It's better simply to set both largest and smallest to array[0] and update as necessary as you iterate through the values.
>cin >> array[index];//Here you should use get_line()
So should you. If you want to talk about how things should be done, just go ahead and do them instead of confusing people with poorly described potential options.
>system("PAUSE");
Get used to not using this. It's terribly unsafe.
I'm here to prove you wrong.
•
•
Join Date: Jul 2008
Posts: 89
Reputation:
Solved Threads: 10
Hi Narue,
Thanks for your sugestions. Actually this is my first day at C++.
"So should you. If you want to talk about how things should be done, just go ahead and do them instead "
In case you haven't noticed almost every tutorial for beginers as I am and as I asume the one who posted the answer they do it the way I did it for the sake of clarity.
"Giving away homework answers is still frowned upon here. "
Sorry about that. You should think that I did it on porposed bu I didn't.I haven't see your post. Still is a functional code as you see has a lot of flags so everybody learn. Today I've wrote my first line with C++ :-).
" but all of them are pointless in this case as this doesn't make the code any clearer"
Here I disagreed with you this since you would remove a couple of lines of code and every line of code that you add increases the risks of erros , and makes the code less readeble and increases the maintenance effort, and de costs of the project.
Again thanks for your sugestions.
Camilo
Thanks for your sugestions. Actually this is my first day at C++.
"So should you. If you want to talk about how things should be done, just go ahead and do them instead "
In case you haven't noticed almost every tutorial for beginers as I am and as I asume the one who posted the answer they do it the way I did it for the sake of clarity.
"Giving away homework answers is still frowned upon here. "
Sorry about that. You should think that I did it on porposed bu I didn't.I haven't see your post. Still is a functional code as you see has a lot of flags so everybody learn. Today I've wrote my first line with C++ :-).
" but all of them are pointless in this case as this doesn't make the code any clearer"
Here I disagreed with you this since you would remove a couple of lines of code and every line of code that you add increases the risks of erros , and makes the code less readeble and increases the maintenance effort, and de costs of the project.
Again thanks for your sugestions.
Camilo
Last edited by camilojvarona; Jul 21st, 2008 at 12:24 pm.
•
•
Join Date: Jul 2008
Posts: 4
Reputation:
Solved Threads: 0
I think it would be good for you to check out sorting methods. Using a "bubble sort" is probably the easiest, and makes a good starting point. If you sort the entire array so the entries are in order from heighest to lowest you can just return array[0] and array[n] to show the heighest and lowest values.
What would also be good is random number generators. This could make your testing a little easier by allowing you to automatically generate the information to fill the array (save you having to enter it every time you want to try something out).
There are lots of places you can find this information out, so just search until you find somewhere that explains it best for you.
What would also be good is random number generators. This could make your testing a little easier by allowing you to automatically generate the information to fill the array (save you having to enter it every time you want to try something out).
There are lots of places you can find this information out, so just search until you find somewhere that explains it best for you.
![]() |
Similar Threads
- Why is my code execution truncated.... (C++)
- Arrays (C++)
Other Threads in the C++ Forum
- Previous Thread: Send data on a serial port
- Next Thread: Game Help
| Thread Tools | Search this Thread |
api array based beginner binary bitmap c++ c/c++ calculator char char* class code coding compile compiler console conversion count database delete deploy developer directshow dll download dynamic dynamiccharacterarray email encryption error file forms fstream function functions game givemetehcodez google graph gui homeworkhelp homeworkhelper iamthwee ifstream input int java lib linkedlist linker list loop looping loops map math matrix memory multiple news node number numbertoword output parameter pointer problem program programming project proxy python random read recursion recursive reference rpg sorting string strings temperature template test text text-file tree unix url variable vector video visualstudio win32 windows winsock word wordfrequency wxwidgets






