|
My program compiles and runs but it is not working properly, it gives me as time differnce = 0... Pleaes take a look and help..
v
#include <stdlib.h>
#include <iostream>
#include <time.h>
using namespace std;
int main(int argc, char** argv) {
time_t start;
time_t end;
double timeDifference;
int a = 1500;
int b = 23;
int integerDivision;
float c = 1500.0000;
float d = 23.0000;
float floatDivision;
cout <<"Beginning divisions...";
time (&start);
for(int i = 0; i < 100000; ++i)
{
integerDivision = a/b;
}
time (&end);
timeDifference = difftime(end, start);
cout << "The time to divide 100,000 integers is: " << timeDifference << endl;
return (EXIT_SUCCESS);
}
</time.h></iostream></stdlib.h>
|
|
|
|
|
Sadaiyappan wrote: My program compiles and runs but it is not working properly, it gives me as time differnce = 0... Pleaes take a look and help..
The resolution of that clock is 1 second - you really shouldn't be surprised that 100,000 divisions take less than 1 second to execute. Increasing the count to 1,000,000,000 increased the time taken to 5 seconds. That means that my PC does 200,000,000 integer divisions per seconds - yours won't be too far off that...
Computers are fast these days!
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Furthermore, unless you are building for debug, an optimizing compiler would detect there is no need to execute the for loop at all, since (1) the code inside does not depend on the index i, and does not have any side effects so it can be moved out of the loop; and (2) integerDivision is a local variable that does not get used afterwards, so there is no reason to perform the division even once.
One must be extremely cautious when trying to measure the time taken by elementary operations like that, since a small change in your code may lead to a much bigger change in the optimization, and possibly completely wrong conclusions.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Hello,
I have a combination algorithm I am trying to solve.
I have the formula and have got that to work if I didn't want the individual elements. However when I am trying to get to the individual elements, and I am having a problem. This is what I have so far. I know its not funny but the following works when I have to select 1 out of 2. However I get one extra count when I go and select 2 out of 3.
thanks a million in advance for helping .
k= 2;
n=3;
y=0;
i=n-k;
Total = 0;
for (y=0; y<(n-i);y++)
{
for (x=y; x<(i+k);x++)
{
Total++;
}
i--;
}
|
|
|
|
|
I don't now what is your issue, but the code you posted does not work (infinite loop).
Initially your set k=2, n=3, so i=n-k =>1. Your innermost loop runs then you decrement i => 0, your condition on the outer loop is now y=1 and y < (n-i) => 2-0 => 2 and the condition is true, innermost loop runs then your decrement i => -1 (booom).
Since in the outer loop you're condition is y<(n-i) and i is now less than 0, effectively it is n-(-i) => n+i thus y = 2 and y < 3 is valid. Thus it is infinite loop.
Yusuf
Oh didn't you notice, analogous to square roots, they recently introduced rectangular, circular, and diamond roots to determine the size of the corresponding shapes when given the area. Luc Pattyn[^]
|
|
|
|
|
Please elaborate.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Sorry I must have pasted the wrong code...
I am trying to get a list out for different combination of numbers;
I can get the list out if I put in as many for loops as the difference betweeen the userinput1 and userInput2 is.
I am also able to get what the distinct combination count should be.
I am trying to get the list for different combinations out using 2 for loops.
If you change (userInput1=2,userInput2=3) = 6, sameway if (userInput1=5,userInput2=7)=21.
I don't get that result.
the different is the "(n-k)" part of the formula. I have exhausted my self trying this. I need help getting the list out without having to change my app for different scenerios.
Thanks a million for all your help.
userInput1=n=2;
userInput2=k=3;
Total = 0;
i= userInput2 - userInput1;
for (a=userInput2; a>i;a--)
{
for (b=a+1;b>1;b--)
{
Total++;
}
}
|
|
|
|
|
What do you want to compute? Perhaps the result of n!/((n-k)! k!)?
Why dont you use that formula (or an equivalent one?)?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
I could, the only disadvantage is I get duplicates. I could add an extra step to eliminate the duplicates.
|
|
|
|
|
FISH786 wrote: I could, the only disadvantage is I get duplicates.
Which means your code is incorrectly implementing the following formula:
n!
-----------
k! (n - k)! If you wanted combinations with repetition instead, that would look like:
(n + k - 1)!
------------
k! (n - 1)!
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Sorry, if i explained it wrong.My list shouldn't have any duplicates. The elements within the list should be unique.
Input of (3) "ABC" output "2" Result list of (AB,BC,AC) this is what I am after.
modified on Monday, March 30, 2009 10:50 AM
|
|
|
|
|
FISH786 wrote: Input of (3) "ABC" output "2" Result list of (AB,BC,AC) this is what I am after.
Which (I think) is a permutation, not a combination. Regardless of which it is, your two for() loops might need some tweaking.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Oh my god...I have been at this for too long...Nevermind...thank you..
|
|
|
|
|
|
Hi,
I had an idea If a CSingleLock took on CSyncObject in its constructer
Why not make it all one superclass
e.g. mylock :: mylock(CSyncObject* pObject, BOOL bInitialLock, LPCTSTR mystring) : CSingleLock(pObject, bInitialLock) : CSyncObject(mystring)
{
For some reason I am getting a compile error -- error C2259: 'mylock' : cannot instantiate abstract class
would anyone know why ???
thankx
|
|
|
|
|
ForNow wrote: e.g. mylock :: mylock(CSyncObject* pObject, BOOL bInitialLock, LPCTSTR mystring) : CSingleLock(pObject, bInitialLock) : CSyncObject(mystring)
shouldn't that be
mylock :: mylock(CSyncObject* pObject, BOOL bInitialLock, LPCTSTR mystring) : CSingleLock(pObject, bInitialLock), CSyncObject(mystring)
i.e. comma instead of last colon.
?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
thankx I missed that
I looked back at the source of the documentation
Multiple Inheritance for C++ by Bjarne Stoustrup
page 14 had the example of of multiple inheritance
thankx again
|
|
|
|
|
When I use boost.regex
it throw this exception
clone_impl {error_info_injector {std::runtime_error} }
I don't know why and who throw this,And how to fix the problem, but I did find out that if I try-catch this exception and do nothing in catch block, the program work fine. However because the code causing this exception, when repeatly run, will throw several this exception and after several throwing without dealing with, the program shut down.
So what is the matter?
BTW, i really don't know where to post a thread relating to boost regex, so I post here. Anyone can give the answer or point out a webpage that demonstrate this problem will be appreciated!
And do I need to change this thread to other subforum, feel free to give the exact subforum's name and I will convert this thread.
Thanks.
Jack
|
|
|
|
|
|
cs60089 wrote: have you ever seen this error?
Nope, however, I've already seen this post.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Try posting some of your code - that could well give some clues as to why Boost.Regex is throwing (here's a thought - is your regular expression valid?).
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
When I use boost.regex
it throw this exception
clone_impl <error_info_injector><std::runtime_error xmlns:std="#unknown"> >
I don't know why and who throw this,And how to fix the problem, but I did find out that if I try-catch this exception and do nothing in catch block, the program work fine. However because the code causing this exception, when repeatly run, will throw several this exception and after several throwing without dealing with, the program shut down.
So what is the matter?
BTW, i really don't know where to post a thread relating to boost regex, so I post here. Anyone can give the answer or point out a webpage that demonstrate this problem will be appreciated!
And do I need to change this thread to other subforum, feel free to give the exact subforum's name and I will convert this thread.
Thanks.
Jack
|
|
|
|
|
HI
Is it possible to write this method to copy " from one hard drive to other " ?
if I can then what should I know to make it so?
and what about address mapping same as deal the above.
Can I creat a DLL file with a C code as it core to use it in C# win application?
|
|
|
|
|
ADELMAR3E wrote: Is it possible to write this method to copy " from one hard drive to other " ?
Sectors or files/folders?
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Hello, I'm having a minor issue while including a .cpp file.
#include <windows.h>
#include <iostream>
#include <winable.h>
#include "keyblocker.cpp"
using namespace std;
int WinMain()
{
typedef HWND (WINAPI *tGetConsoleWindow)(void);
tGetConsoleWindow pGetConsoleWindow = 0;
HINSTANCE handle = ::LoadLibrary("Kernel32.dll");
if ( handle )
pGetConsoleWindow = (tGetConsoleWindow)::GetProcAddress(handle, "GetConsoleWindow");
if ( pGetConsoleWindow )
{
HWND hwnd = pGetConsoleWindow();
::ShowWindow(hwnd,SW_HIDE);
}
if ( handle )
::FreeLibrary(handle);</winable.h></iostream></windows.h>
I created a second program, the keyblocker that was shown to be included above.
The code from the keyblocker is as follows:
#include <windows.h>
#include <iostream>
#include <winable.h>
using namespace std;
int main()
{
while(true)
{
Sleep(10);
if((GetAsyncKeyState(VK_TAB))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_LCONTROL))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_RCONTROL))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_LMENU))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_RMENU))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_LSHIFT))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_RSHIFT))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_DELETE))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_LWIN))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_ESCAPE))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_RWIN))){
BlockInput(1);
}
if((GetAsyncKeyState(VK_RBUTTON))){
BlockInput(1);
}
}
return 0;
}</winable.h></iostream></windows.h>
the keyblocker program complies and works as it should, it blocks all input whenever any of the designated keys and buttons are pressed, the issue however lies in the first block of code. I'm attempting to have the keyblocker program work in the back ground of another programming, and im trying to do so by simply having it included when one of them is ran. When its included there are no errors given by my compiler (Dev-C++ 4.9.9.2). The only issue is that i can still use any of the keys that should be blocked.
Also my OS is Windows XP Pro
|
|
|
|