473,396 Members | 2,014 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Function that calculates the arithmetic mean using vectors?

I have a function that calculates the mean of the some numbers; I need
it to accept any number of parameters (one needs to be the number of
the other parameters) Can you help me out here? Here's the function:

const long double& mean(long long x)
{
vector<int> v(x);
for(int i= 1; i <=x; ++i)
{
v.push_back(i);
}
const long double ret=accumulate(v.begin(), v.end(), 0.0) / v.size();
return ret;
}

I want it to calculate the vector size at runtime. If you could help me
out, that'd be great. Thanks!!!

Sep 14 '05 #1
32 5838
Protoman wrote:
I have a function that calculates the mean of the some numbers; I need
it to accept any number of parameters (one needs to be the number of
the other parameters) Can you help me out here?
You need to see an implementation of 'fprintf'. va_args and va_list
are the macros to be used. Search the web for an example of how to
use them.
[..]


V
Sep 14 '05 #2
I want to use vectors though.

Sep 14 '05 #3
Protoman wrote:
I have a function that calculates the mean of the some numbers; I need
it to accept any number of parameters (one needs to be the number of
the other parameters) Can you help me out here? [..]


'va_start', 'va_end', and 'va_list' are the macros you should read
about. The web is your friend.
Sep 14 '05 #4
Protoman wrote:

I want to use vectors though.


Pass the vector to the function.
Handling user input surely is not the responsibility
of a function which calculates a mean.

long double mean( vector< int > values )
{
// now calculate the mean of the passed
// vector and return it
}

One function - one responsibility

--
Karl Heinz Buchegger
kb******@gascad.at
Sep 14 '05 #5
Here's my rewritten program(it finally works!!!!):

#include <iostream>
#include <cstdlib>
#include <vector>
#include <numeric>
using namespace std;

long double mean(vector<long double>& v)
{
long double ret=(accumulate(v.begin(),v.end(), 0.0)/v.size());
return ret;
}
int main()
{
for(;;)
{
cout << "Enter the number of items: " << endl;
int num;
cin >> num;
vector<long double> v;
for(int i=0;i<num;++i)
{
cout << "Enter a number: ";
long double temp;
cin >> temp;
v.push_back(temp);
}
long double ret=mean(v);
cout << "Here's the mean: " << fixed << ret << endl;
}
system("PAUSE");
return 0;
}

Now, how would I rewrite to make it more efficient and modularized; I'd
like some ideas. Thanks for the help!!!

Sep 15 '05 #6
Protoman wrote:

Here's my rewritten program(it finally works!!!!):

#include <iostream>
#include <cstdlib>
#include <vector>
#include <numeric>
using namespace std;

long double mean(vector<long double>& v)
{
long double ret=(accumulate(v.begin(),v.end(), 0.0)/v.size());
return ret;
}

int main()
{
for(;;)
{
cout << "Enter the number of items: " << endl;
int num;
cin >> num;
vector<long double> v;
for(int i=0;i<num;++i)
{
cout << "Enter a number: ";
long double temp;
cin >> temp;
v.push_back(temp);
}
long double ret=mean(v);
cout << "Here's the mean: " << fixed << ret << endl;
}
system("PAUSE");
return 0;
}

I don't see, how the outermost for loop is ever terminated.
How about: If the user enters 0 for the number of items, the program
terminates.

<sidenote>
Did you format your code in that way or did that happen during the posting.
If you formatted that code, then work on your formatting style. The above
is awefull to read. If that formatting happend during posting, get a better
newsreader. If your programs get longer, no one here will be willing to wade
through such unformatted text
</sidenote>
Now, how would I rewrite to make it more efficient and modularized; I'd
like some ideas. Thanks for the help!!!


Eg. move the whole input thing into a function of its own.
You might also want to try the following: When the program asks
for a number, enter 'a' and see what happens. I am trying to push you
into the direction of having a function which does just the task of entering
a number, but it does so with handling all possible errors and probably retrying
the input, until a valid input has been received.

Glad to see that you switched your attitude and we can talk normal with each
other. I am pretty sure that with that attitude you made it into some killfiles
and it will take some time to get out of there. You want all the help you can get,
so beeing in other peoples killfile isn't something you want to be.

--
Karl Heinz Buchegger
kb******@gascad.at
Sep 15 '05 #7
OK, here we go, inputting's a seperate function now:

#include <iostream>
#include <cstdlib>
#include <vector>
#include <numeric>
using namespace std;
void input(vector<long double>& v)
{
cout << "Enter the number of items: " << endl;
int num;
cin >> num;
for(int i=0;i<num;++i)
{
cout << "Enter a number: ";
long double temp;
cin >> temp;
v.push_back(temp);
}
}

long double mean(vector<long double>& v)
{
input(v);
long double ret=(accumulate(v.begin(),v.end(), 0.0)/v.size());
return ret;
}

int main()
{
vector<long double> v;
for(;;)
{
long double ret=mean(v);
cout << "Here's the mean: " << fixed << ret << endl;
bool cont;
cout << "Continue?[1=yes|0=no]: " << endl;
cin >> cont;
if(cont==true)continue;else break;
}
system("PAUSE");
return 0;
}

Next time I'll just post snips of my code. Now how to I do the error
checking? Thanks for the help!!!

Sep 15 '05 #8
Oh, and I think there's a function in cstdlib that terminates the
program; could you tell me what that function is?

Sep 15 '05 #9
Protoman wrote:
Oh, and I think there's a function in cstdlib that terminates the
program; could you tell me what that function is?


exit and abort both do that (in different ways).

john
Sep 15 '05 #10
OK, how do I test if my variables, num and temp, are characters, like a
or b? I need to make my code idiot proof.

Sep 15 '05 #11
Protoman wrote:
OK, how do I test if my variables, num and temp, are characters, like a
or b? I need to make my code idiot proof.


This question gets asked a lot. If you search the archive you'll get
lots of answers.

The only perfectly idiot proof method is to read a line into string,
check the string is in the correct form, and then convert to a number.

For a very nearly as good method see the 'resurrecting cin' thread by
float_dublin (c.l.c++ only). The full method doesn't come out until the
end so be prepared to read some less than complete posts (including one
by me).

john
Sep 15 '05 #12
John Harrison wrote:
Protoman wrote:
OK, how do I test if my variables, num and temp, are characters, like a
or b? I need to make my code idiot proof.


This question gets asked a lot. If you search the archive you'll get
lots of answers.

The only perfectly idiot proof method is to read a line into string,
check the string is in the correct form, and then convert to a number.

For a very nearly as good method see the 'resurrecting cin' thread by
float_dublin (c.l.c++ only). The full method doesn't come out until the
end so be prepared to read some less than complete posts (including one
by me).

john


For a bonus point, see if you can work out what the incorrect input is
that the 'resurrecting cin' method will accept, but the perfect method
will reject.

john
Sep 15 '05 #13
OK, here's the idiot proof input funct:

template<class T>
void input(vector<T>& v)
{
cout << "Enter the number of items: " << endl;
int num;
cin >> num;
if(num==0)
abort();
else if(!cin)
abort();
else
for(int i=0;i<num;++i)
{
cout << "Enter a number: ";
T temp;
cin >> temp;
if(!cin)
abort();
else
v.push_back(temp);
}
}

Any other suggestions for me?

Sep 15 '05 #14
Protoman wrote:
OK, here's the idiot proof input funct:

template<class T>
void input(vector<T>& v)
{
cout << "Enter the number of items: " << endl;
int num;
cin >> num;
if(num==0)
abort();
else if(!cin)
abort();
else
for(int i=0;i<num;++i)
{
cout << "Enter a number: ";
T temp;
cin >> temp;
if(!cin)
abort();
else
v.push_back(temp);
}
}

Any other suggestions for me?


It works, but the idiots aren't going to be very happy when the program
aborts. I would have suggested some sort of error recovery, 'Hey idiot!
Please enter the number again', that kind of thing.

john
Sep 15 '05 #15

Protoman wrote in message
<11**********************@g14g2000cwa.googlegroups .com>...
Oh, and I think there's a function in cstdlib that terminates the
program; could you tell me what that function is?


If you can read this NG, you can read the docs for stdlib. <G>

You are thinking of 'exit()', BUT, don't use that for normal program
termination. It's intended as an 'emergency exit' (it's possible to shoot
yourself in the foot - or worse!).
All you need to do in your 'for(;;)' loop is execute 'break;', like you are
doing, and the 'main()' will finish, terminating your program normally.
You might find 'while(condition){}' a little cleaner/clearer than 'for(;;)'
(like Mr. Huber showed you.).

For your error checking question; look up 'isalpha' and 'isdigit' for an
idea.

What book are you using?

You might find this site interesting.
www.BruceEckel.com -> Books -> "Thinking in C++, vol. 1"
(since it only costs $(a download))
Two heads are better than one, and so are two books!

alt.comp.lang.learn.c-c++ faq:
http://www.comeaucomputing.com/learn/faq/

Hope that helps. Good luck.
--
Bob R
POVrookie
--
MinGW (GNU compiler): http://www.mingw.org/
Dev-C++ IDE: http://www.bloodshed.net/
POVray: http://www.povray.org/
Sep 15 '05 #16
OK here's the input function that doesn't abort on bad data:

template<class T>
void input(vector<T>& v)
{
start:
cout << "Enter the number of items: " << endl;
int num;
cin >> num;
if(num==0)
{
cout << "Try again, with a number this time ";
goto start;
}
else if(!cin)
{
cout << "Try again, with a number this time ";
goto start;
}
else
for(int i=0;i<num;++i)
{
start2:
cout << "Enter a number: ";
T temp;
cin >> temp;
if(!cin)
{
cout << "Try again, with a number this time ";
goto start2;
}
else
v.push_back(temp);
}
}

But it keeps displaying the same message over and over again; what's
wrong? Thanks for the help!!! BTW, I use Learn C++ in 21 Days and
Standard C++ Bible. And my teacher told me there's a book that tells
you everything you can and can't do in C++. Could you tell me the name
of that book please? Thanks!!!

Sep 16 '05 #17
Protoman wrote:
OK here's the input function that doesn't abort on bad data:

template<class T>
void input(vector<T>& v)
{
start:
cout << "Enter the number of items: " << endl;
int num;
cin >> num;
if(num==0)
{
cout << "Try again, with a number this time ";
goto start;
}
else if(!cin)
{
cout << "Try again, with a number this time ";
goto start;
}
else
for(int i=0;i<num;++i)
{
start2:
cout << "Enter a number: ";
T temp;
cin >> temp;
if(!cin)
{
cout << "Try again, with a number this time ";
goto start2;
}
else
v.push_back(temp);
}
}

But it keeps displaying the same message over and over again; what's
wrong? Thanks for the help!!! BTW, I use Learn C++ in 21 Days and
Standard C++ Bible. And my teacher told me there's a book that tells
you everything you can and can't do in C++. Could you tell me the name
of that book please? Thanks!!!


There is nothing that cannot be done in C++, it is a general purpose
language. Of course there are somethings that are easy to do and some
that are difficult, compared to other languages.

As already advised read the thread 'resurrecting cin' on c.l.c++. It is
about exactly this topic. If you what to research this issue see if your
books say something about iostreams and error state.

Try and develop the skills to research answers to your own questions, at
the moment you want to be spoon fed.

john
Sep 16 '05 #18
No, that book I was talking about, it tells you what the syntax
permits, not the language itself. I'm just going to print an error
message, then abort. Saves me the trouble. And what would "COBOL style
C++" look like?

Sep 16 '05 #19
Protoman wrote:
No, that book I was talking about, it tells you what the syntax
permits, not the language itself. I'm just going to print an error
message, then abort. Saves me the trouble. And what would "COBOL style
C++" look like?


I have no idea.

john
Sep 16 '05 #20
How do I access the induvidual elements of a vector if I have no idea
how many there are?

Sep 16 '05 #21
Protoman wrote:
How do I access the induvidual elements of a vector if I have no idea
how many there are?


You can use the size() method to find out how big a vector is.

john
Sep 16 '05 #22
Protoman wrote:
OK here's the input function that doesn't abort on bad data:

template<class T>
void input(vector<T>& v)
{
start:
cout << "Enter the number of items: " << endl;
int num;
cin >> num;
if(num==0)
{
cout << "Try again, with a number this time ";
goto start;
}
else if(!cin)
{
cout << "Try again, with a number this time ";
goto start;
}
else
for(int i=0;i<num;++i)
{
start2:
cout << "Enter a number: ";
T temp;
cin >> temp;
if(!cin)
{
cout << "Try again, with a number this time ";
goto start2;
}
else
v.push_back(temp);
}
}

But it keeps displaying the same message over and over again; what's
wrong? Thanks for the help!!! BTW, I use Learn C++ in 21 Days and
Standard C++ Bible. And my teacher told me there's a book that tells
you everything you can and can't do in C++. Could you tell me the name
of that book please? Thanks!!!


*sigh* Where to begin?

First, get a good book. Learn C++ in 21 Days is crap. I don't know
about the Bible but it's probably crap too. Try Accelerated C++ or take
a recommendation from someone who knows:

http://www.accu.org/bookreviews/public/

OK, now to your code...

First, don't use goto statements. They're confusing to read, they're
almost always unnecessary, and the cases where they may be appropriate
are rare enough to ignore. If you find yourself wanting to use goto
statements, think harder about the structure of your code.

The specific problem that you're encountering is that you're using the
input stream cin after it has entered some sort of "bad" state-- invalid
input, end of file, etc. The solution is to clear it, as in
cin.clear(), before attempting to read anything else from it.
Incidentally, this is discussed nicely in Accelerated C++ which, in
fact, has a function that does exactly what you're doing: reading values
into a vector.

I'm not sure why you have your function ask the user how many entries
there are. Why not let the user enter an EOF when he's done? (EOF =
end of file. On Unix, usually ctrl-D, on Win usually ctrl-Z.)
Something like this: (untested code!)

// Reads user values of type T into v until EOF.
// Returns number of values inserted.
template <class T>
int input(vector<T>& v)
{
int count = 0;
T num;
while (true) // keep reading until we break
{
cout << "Enter a number: ";
if (cin >> num) // valid entry
{
v.push_back(num);
++count;
}
else // EOF or bad entry
break;
cin.clear(); // reset stream from EOF or bad value state
}
return count;
}
-Mark
Sep 16 '05 #23
In article <2j****************@newsfe4-gui.ntli.net>, John Harrison
<jo*************@hotmail.com> writes
There is nothing that cannot be done in C++, it is a general purpose
language. Of course there are somethings that are easy to do and some
that are difficult, compared to other languages.


Direct keyboard reading in C++ is an example of something that is nearly
impossible without augmenting it with a special purpose library. I say
almost impossible because you could, in theory (but I have never seen it
used in practice) write a routine in assembler using the asm keyword.
--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
Sep 16 '05 #24
In article <Wt*******************@newsfe5-gui.ntli.net>, John Harrison
<jo*************@hotmail.com> writes
It works, but the idiots aren't going to be very happy when the program
aborts. I would have suggested some sort of error recovery, 'Hey idiot!
Please enter the number again', that kind of thing.


Indeed, abort and exit both have vulnerabilities in that they leave the
stack unwound which may have consequences. Throwing an exception is
probably better in C++. However when dealing with keyboard input it is
almost always better to give the user a chance to try again. By default
I allow three tries before deciding that input is being provided by a
cat walking over the keyboard.

--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
Sep 16 '05 #25
Protoman wrote:

OK, here we go, inputting's a seperate function now:

#include <iostream>
#include <cstdlib>
#include <vector>
#include <numeric>
using namespace std;
void input(vector<long double>& v)
{
cout << "Enter the number of items: " << endl;
int num;
cin >> num;
for(int i=0;i<num;++i)
{
cout << "Enter a number: ";
long double temp;
cin >> temp;
v.push_back(temp);
}
}

long double mean(vector<long double>& v)
{
input(v);


That call does not belong here.
Remember: One function - one responsibility.

As it is now, the function mean() is responsible for both:
the input thing and the calculation thing.

Why not call input in main() ?
This would free mean from that job, and would allow you to use
mean in other ways. Eg. some other computation comes up with a bunch
of numbers and you need the mean of those. Put those numbers
in a vector and calling mean() would do the job nicely. But then
your mean kicks in and wants some numbers from the user :-)
--
Karl Heinz Buchegger
kb******@gascad.at
Sep 16 '05 #26
I've used those books, and my teacher, whose is (really; I'm not lying)
a top programmer at Bell Labs, says those two are great books for a
beginner; I've got others. And thanks for the tip. And how to I access
induvidual items from a vector when I have no idea how many there are?

Sep 17 '05 #27

Protoman wrote in message
. And how to I access
induvidual items from a vector when I have no idea how many there are?


That's why you use vectors, you *do* know how many there are!!

// #includes here
std::vector<int> Vint;
for(int i(0); i < 10; ++i){ Vint.push_back( i );}

for(size_t i(0); i < Vint.size(); ++i){
std::cout << Vint.at( i ) << std::endl;
}

int Number5( Vint.at( 4 ) ); // hope & pray
try{ Number5 = Vint.at( 12 );} // may throw exception
catch(...){ std::cout << "Ouch!" << std::endl;}
size_t indx(2);
if( indx < Vint.size() ){
Number5 = Vint.at( indx );
}

[ Untested. ]
--
Bob R
POVrookie
Sep 17 '05 #28
In article <11**********************@g49g2000cwa.googlegroups .com>,
Protoman <Pr**********@gmail.com> writes
I've used those books, and my teacher, whose is (really; I'm not lying)
a top programmer at Bell Labs, says those two are great books for a
beginner; I've got others. And thanks for the tip. And how to I access
induvidual items from a vector when I have no idea how many there are?
He may be a great programmer but he is not a great judge of books.


--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
Sep 17 '05 #29
Some weeks ago, in a thread in this group and one other,
"BobR" <Re***********@worldnet.att.net> wrote the following
slam of the "exit()" function:
You are thinking of 'exit()', BUT, don't use that for normal program
termination. It's intended as an 'emergency exit' (it's possible to shoot
yourself in the foot - or worse!).


I'm curious, what do you figure is wrong with exit()? I use that a lot
in my programs if the program needs to terminate somewhere other than
the last line (usually "return 0;") of main(). I consider it the
"terminate program after exceptional event (not necessarily error)"
function.

For example:

int main(int Tom, char* Jerry[])
{
// ... dozens of lines of code ...
if (bHelp) // if user used a "-h" or "--help" switch
{
Help(); // Print instructions,
exit(777); // and exit program.
}
// ... dozens more line of code, mostly calls to functions that
// do most of the work ...
return 0;
}

I sure like that a lot better than:

int main(int Tom, char* Jerry[])
{
// ... dozens of lines of code ...
if (bHelp) // if user used a "-h" or "--help" switch
{
Help(); // Print instructions,
goto End; // and go to end.
}
// ... dozens more line of code, mostly calls to functions that
// do most of the work ...
End:
return 0;
}

And what if a function other than main needs to terminate the app in
an orderly fashion?

void
ReadFileToVector
(
std::string const & FileName,
std::vector<std::string> & Text
)
{
// ... some code ...
(if !InputFileStream) // if we can't open the file,
{
cerr << "Error: Cannot open file " << FileName << " for input!" << endl;
exit(666); // Crash and burn, in an orderly way.
}
// ... some more code ...
return 0;
}

I don't see any other orderly way to exit in a case like that.

As I understand it, exit() does basic clean-up (destructs
objects, closes files, etc.), unlike abort() and terminate(),
which die much more messily.

So, what's to dislike about exit()? Does Bob R. or anyone
else here know of any reasons NOT to freely use this function?
Curious,
Robbie Hatley
Tustin, CA, USA
email: lonewolfintj at pacbell dot net
web: home dot pacbell dot net slant earnur slant
Sep 27 '05 #30
* Robbie Hatley:

I don't see any other orderly way to exit in a case like that.
Orderly -- with stack unwinding -- throw an exception of a type only
caught by a catch in 'main'.

As I understand it, exit() does basic clean-up (destructs
objects, closes files, etc.), unlike abort() and terminate(),
which die much more messily.


§3.6.1/4, the standard guarantees that you do not get stack unwinding.

--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Sep 27 '05 #31
"Alf P. Steinbach" <al***@start.no> wrote:
* Robbie Hatley:

I don't see any other orderly way to exit in a case like that.


Orderly -- with stack unwinding -- throw an exception of a type only
caught by a catch in 'main'.
As I understand it, exit() does basic clean-up (destructs
objects, closes files, etc.), unlike abort() and terminate(),
which die much more messily.


§3.6.1/4, the standard guarantees that you do not get stack unwinding.

::: reads standard :::

Fascinating. I didn't realize that. So if I want to avoid
leaking memory in, say, a file-io function that crashes because
some dork plugged in the wrong file name, I should probably NOT
exit(), but do:
// In ReadFile():
if (!InputFileStream)
{
FileIOException tantrum;
throw tantrum;
}
// In main():
try
{
ReadFile();
}
catch (FileIOException)
{
cerr << "Had a lil problem there, Charly!" << endl;
cerr << "ENTER THE RIGHT FILE NAME NEXT TIME, YOU DORK!!!" << endl;
return 1; // or maybe just set a flag, leading to re-try of ReadFile()
}
Less leaky?
And out of curiousity, what if I'm a bad boy and exit() with
100MB of stuff on the stack? Does the OS (eg, Win2k) reclaim
that? Or is that 100MB off-line until I shut down or push "reset"?
Or is this OS dependent?
Cheers,
Robbie Hatley
Tustin, CA, USA
email: lonewolfintj at pacbell dot net
web: home dot pacbell dot net slant earnur slant
Sep 27 '05 #32
Robbie Hatley wrote:

[snip]
And out of curiousity, what if I'm a bad boy and exit() with
100MB of stuff on the stack? Does the OS (eg, Win2k) reclaim
that? Or is that 100MB off-line until I shut down or push "reset"?
Or is this OS dependent?


It is OS dependent. The C++ standard does not specify *any* way of returning
memory to the OS / execution environment, neither during program execution
nor upon termination.

However, I would consider it a bug in the OS if it did not reclaim all
resources left without owner from a process dying.
Best

Kai-Uwe Bux

Sep 27 '05 #33

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: neo88 | last post by:
hi guys Can anyone please tell me what is wrong with this function: inline int strength(void) { int a; // tests to see what strength value the agent just attacked\defended with for (strength;...
2
by: Hennie de Nooijer | last post by:
Because of an error in google or underlying site i can reply on my own issue. Therefore i copied the former entered message in this message....
4
by: Protoman | last post by:
I have a function that calculates the mean of the some numbers; I want it to calculate the vector size at runtime. Can you help me out here? Here's the function: const long double& mean(long...
18
by: jimfortune | last post by:
I have an A97 module called modWorkdayFunctions in: http://www.oakland.edu/~fortune/WorkdayFunctions.zip It allows the counting of workdays taking into consideration up to 11 U.S. holidays. ...
38
by: maadhuu | last post by:
does it make sense to find the size of a function ??? something like sizeof(main) ??? thanking you ranjan.
21
by: utab | last post by:
Hi there, Is there a way to convert a double value to a string. I know that there is fcvt() but I think this function is not a part of the standard library. I want sth from the standard if...
17
by: DanielJohnson | last post by:
how to use the combination function in python ? For example 9 choose 2 (written as 9C2) = 9!/7!*2!=36 Please help, I couldnt find the function through help.
19
by: Gerry Ford | last post by:
I've been pecking away at writing a program that will calculate the inner product of two double-width four-vectors. Larry thinks I'm well started with the following source to populate a vector:...
7
by: Kurda Yon | last post by:
Hi, I have a class called "vector". And I would like to define a function "dot" which would return a dot product of any two "vectors". I want to call this function as follow: dot(x,y). Well,...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.