Re: Writing a .txt file
On 1 Apr., 14:14, Ulrich Eckhardt <eckha...@satorlaser.com> wrote:
Lucress Carol wrote:
Does someone has an idea how I can write
the js and the number S in a .txt file?
Looking at your code, you already know how to output the values to stdout.=
What you can do is redirect stdout so that your program's output is writte=
n
to a file. For that, invoke your program like this:
yourprogram.exe > output.txt
Alternatively, you can write to a file just as you write to std::cout:
#include <fstream>
std::ofstream out("output.txt");
if(!out)
throw std::runtime_error("failed to open file");
out << "S=" << S << std::endl;
Note that both 'out' and 'std::cout' have a common baseclass 'std::ostream=
',
so you can write a function
void write_array( std::ostream& out, double const* array, size_t size)=
;
which you could invoke with both an std::fstream and std::cout.
void RandomNum(double small,double big ,int p, double *array)
{
double range=(big-small)+1;
for (int i=0; i<p; i++){
array[i]=small+int(range*rand()/(RAND_MAX + 1.0));
}
}
First thing here is that the formatting is messed up, probably due to a mi=
x
of tabs and spaces. Use only spaces for indention when posting on the
Usenet, and in general that's a good advise, too.
Second thing here is the fact that you are using C++ but passing arrays as=
pointer/size combo. You should have used a std::vector instead. Further, i=
t
isn't even done correctly, the size should use a size_t instead. You shoul=
d
also make a mental note that you can use std::generate to create sequences=
,
but that's for later when you know C++ much better.
Further, the way that you calculate the random number smells, I wouldn't
make any guarantees that this actually behaves mathematically correct.
srand((unsigned)time(0));
One thing here: please forget about the fact that this style of casts
exists. They are simply dangerous and not even needed in 99.9% of all C++
code. In this case, you should have used static_cast.
Uli
--
C++ FAQ:http://parashift.com/c++-faq-lite
Sator Laser GmbH
Gesch=E4ftsf=FChrer: Michael W=F6hrmann, Amtsgericht Hamburg HR B62 932
Thank you for the fast reply and the advices.
What you can do is redirect stdout so that your program's output is writte=
n
to a file. For that, invoke your program like this:
yourprogram.exe > output.txt
Do you mean I have to invoke my program in the console?
my goal ist not to write the array in the file only
the j and S value for every count of the loop.
Second thing here is the fact that you are using C++ but passing arrays as
pointer/size combo. You should have used a std::vector instead. Further, i=
t
isn't even done correctly, the size should use a size_t instead.
size_t??no idea what you are talking about.how would have my
array looked like with size_t? could you please give an example?
Thank you
Lucress