•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the C++ section within the Software Development category of DaniWeb, a massive community of 391,923 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,725 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our C++ advertiser:
Views: 541 | Replies: 16
![]() |
Create a variable called say 'highestSoFar'
Compare with each element of the array, and update it if you find a bigger value.
Compare with each element of the array, and update it if you find a bigger value.
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
Do not PM me for help; You'll be ignored, or told to learn to read.
Do not ask me if I'm muslim - I'm not. Nor do I care about yours or anyone else's mysticism. Religion is a matrix, take the RED PILL.
Do not PM me for help; You'll be ignored, or told to learn to read.
Do not ask me if I'm muslim - I'm not. Nor do I care about yours or anyone else's mysticism. Religion is a matrix, take the RED PILL.
here is code for ur problem:
#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.
Member of: Beautiful Code Club.
•
•
Join Date: Jul 2008
Posts: 89
Reputation:
Rep Power: 1
Solved Threads: 9
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.
#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 : 30 Days Ago at 10: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:
cplusplus 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.
Member of: Beautiful Code Club.
•
•
Join Date: Jul 2008
Posts: 89
Reputation:
Rep Power: 1
Solved Threads: 9
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 : 30 Days Ago at 11:24 am.
•
•
Join Date: Jul 2008
Posts: 4
Reputation:
Rep Power: 0
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.
The problem doesn't even need an array, nevermind a sorted one.
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
Do not PM me for help; You'll be ignored, or told to learn to read.
Do not ask me if I'm muslim - I'm not. Nor do I care about yours or anyone else's mysticism. Religion is a matrix, take the RED PILL.
Do not PM me for help; You'll be ignored, or told to learn to read.
Do not ask me if I'm muslim - I'm not. Nor do I care about yours or anyone else's mysticism. Religion is a matrix, take the RED PILL.
![]() |
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
•
•
•
•
•
•
•
•
DaniWeb C++ Marketplace
- 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



Linear Mode