Sponsored Content
Full Discussion: Strange behavior in C++
Top Forums Programming Strange behavior in C++ Post 302425646 by santiagorf on Friday 28th of May 2010 06:57:12 PM
Old 05-28-2010
Strange behavior in C++

I have the following program:

Code:
int main(int argc, char** argv){
      unsigned long int mean=0;
      
      for(int i=1;i<10;i++){
           mean+=poisson(12);
           cout<<mean<<endl;
       }
       cout<<"Sum of poisson: "<< mean;
       return 0;
}

when I run it, I get the output:

Code:
15
26
41
56
73
82
92
106
116
Sum of poisson: 116

However, if I comment the line " cout<<mean<<endl; ", I get the following unexpected output

Code:
Sum of poisson: 22

What is going on? Why the "cout" line is affecting the variable mean?
I'm using linux, with the following commands

Compile: g++ -Wall -c "%f"
Build: g++ -Wall -o "%e" "%f"

gcc version: 4.4.1

Below is the complete code with the poisson function.

untitle.cpp
Code:
#include <iostream>

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;


#define RAND_UNIFORM (double)rand()/(double)RAND_MAX

 unsigned long int poisson(double lambda){
	double g,p=exp(-lambda);
	double u=RAND_UNIFORM;
	unsigned long int k=0;
	while (u>g){
		p*=(lambda/(double)(++k));
		g+=p;
    };
	return k;
};

int main(int argc, char** argv){
      unsigned long int mean=0;
      
      for(int i=1;i<10;i++){
           mean=mean+poisson(12);
           cout<<mean<<endl;
       }
       cout<<"Sum of poisson: "<< mean;
       return 0;
}

Any help would be much appreciated.
santiagorf

Last edited by santiagorf; 05-28-2010 at 09:15 PM..
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

strange sed behavior

I have a file called products.kp which contains, for example, 12345678,1^M 87654321,2^M 13579123,3 when I run the command cat products.kp| sed -f kp.sed where kp.sed contains s,^M,, I get the output 12345678,1 87654321,2 13579123,3 (5 Replies)
Discussion started by: Kevin Pryke
5 Replies

2. UNIX for Dummies Questions & Answers

Strange Behavior on COM2

Hi, I have a problem with a new touch screen controller that I am trying to use on a SCO 3.0 system. THe touch screen controller only wants to talk at 9600baud. I have updated /etc/inittab per the manual and also edited /usr/lib/event/devices to use 9600 baud. The only way I can get the... (0 Replies)
Discussion started by: Elwood51
0 Replies

3. Shell Programming and Scripting

Very Strange Behavior for redirection

I have searched far and wide for an explanation for some odd behavior for output redirection and haven't come up with anything. A co-worker was working on old scripts which have run for years and embedded in their code were output redirects which worked for the script during execution and then... (5 Replies)
Discussion started by: cahook
5 Replies

4. Shell Programming and Scripting

nawk strange behavior

Dear guys; when deleting repeated lines using nawk as below ; Why the below syntax works? nawk ' !a++' infile > outfile and when using the other below syntax the nawk doesn't work? nawk ' { !a++ } ' infile > outfile or nawk ' { !a++ } ' infile > outfile BR (4 Replies)
Discussion started by: ahmad.diab
4 Replies

5. Ubuntu

Ubuntu strange behavior

It is so till login screen. I mean that when I boot my computer, Ubuntu shows a splash screen with mouse instead of Ubuntu logo and in the login screen it shows XUbuntu login screen... It began when I upgraded to previous kernel, I suppose, but I'm not sure... I can't say that it annoys me very... (6 Replies)
Discussion started by: Sapfeer
6 Replies

6. AIX

Strange memory behavior

Hello together, i have a strange memory behavior on a AIX 7.1 System, which i cannot explain. The Filesystem-Cache will not be grow up and drops often after few minutes. I know if a file was deleted, that the same segment in the FS-Cache will also be cleared. But i am not sure if this is the... (8 Replies)
Discussion started by: -=XrAy=-
8 Replies

7. Shell Programming and Scripting

Strange behavior on one of my server

I am not sure what is wrong, but I have some strange behavior when printing things out. I do create a file with only one word test, no space, no new line etc. nano file<enter> test<ctrl x>y<enter> Server 1 gets (fail) awk '{print "+"$0"*"}' file *test Server 2 gets (OK) awk '{print... (9 Replies)
Discussion started by: Jotne
9 Replies

8. AIX

Strange behavior with tar

I am trying to create an archive using tar. I am specifying a list of directories using the -L option. For testing purposes I created a simple directory structure: /backup/test /backup/test/test1 /backup/test/test2 The file specified by the -L option, named files.txt, contains:... (8 Replies)
Discussion started by: judykstra
8 Replies

9. Shell Programming and Scripting

Strange behavior of grep

Hi All, I am facing a strange problem while grepping for a process. Here is the small script that i have written. It will look for any process running with the parameter passed to the script. If no process is running it should print appropriate message. $ cat t.ksh #!/bin/ksh set -x ... (9 Replies)
Discussion started by: veeresh_15
9 Replies
Tk_GetScrollInfo(3)					       Tk Library Procedures					       Tk_GetScrollInfo(3)

__________________________________________________________________________________________________________________________________________________

NAME
Tk_GetScrollInfo, Tk_GetScrollInfoObj - parse arguments for scrolling commands SYNOPSIS
#include <tk.h> int Tk_GetScrollInfo(interp, argc, argv, dblPtr, intPtr) int Tk_GetScrollInfoObj(interp, objc, objv, dblPtr, intPtr) ARGUMENTS
Tcl_Interp *interp (in) Interpreter to use for error reporting. int argc (in) Number of strings in argv array. const char *argv[] (in) Argument strings. These represent the entire widget command, of which the first word is typically the widget name and the second word is typically xview or yview. int objc (in) Number of Tcl_Obj's in objv array. Tcl_Obj *const objv[] (in) Argument objects. These represent the entire widget command, of which the first word is typically the widget name and the second word is typically xview or yview. double *dblPtr (out) Filled in with fraction from moveto option, if any. int *intPtr (out) Filled in with line or page count from scroll option, if any. The value may be negative. _________________________________________________________________ DESCRIPTION
Tk_GetScrollInfo parses the arguments expected by widget scrolling commands such as xview and yview. It receives the entire list of words that make up a widget command and parses the words starting with argv[2]. The words starting with argv[2] must have one of the following forms: moveto fraction scroll number units scroll number pages Any of the moveto, scroll, units, and pages keywords may be abbreviated. If argv has the moveto form, TK_SCROLL_MOVETO is returned as result and *dblPtr is filled in with the fraction argument to the command, which must be a proper real value. If argv has the scroll form, TK_SCROLL_UNITS or TK_SCROLL_PAGES is returned and *intPtr is filled in with the number value, which must be a proper integer. If an error occurs in parsing the arguments, TK_SCROLL_ERROR is returned and an error message is left in interp->result. Tk_GetScrollInfoObj is identical in function to Tk_GetScrollInfo. However, Tk_GetScrollInfoObj accepts Tcl_Obj style arguments, making it more appropriate for use with new development. KEYWORDS
parse, scrollbar, scrolling command, xview, yview Tk 8.0 Tk_GetScrollInfo(3)
All times are GMT -4. The time now is 02:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy