[mpich-discuss] mpich-discuss Digest, Vol 11, Issue 8
Dorian Krause
ddkrause at uni-bonn.de
Wed Aug 12 08:44:45 CDT 2009
if you create outvector like
vector<int> ourvector(2);
and than push_back "99" the vector will look like
{ 98, (whatever), 99}
Try to do call the constructor
vector<int> ourvector(1);
Then you should (If I understand the stl correctly) end up with
{ 98, 99 }
as you intend.
Hope this helps ...
Regards,
Dorian
Vineet Pratap (Vampaier) wrote:
> Plz Correct this code................
>
> #include<iostream>
> #include<vector>
> #include "mpi.h"
>
> using namespace std;
>
> int main(int argc, char *argv[])
> {
> MPI::Status status;
> MPI::Init();
> int myrank = MPI::COMM_WORLD.Get_rank();
> int numprocs = MPI::COMM_WORLD.Get_size();
> vector<int> ourvector(2);
> if(myrank == 0){
>
> ourvector[0] = 98;
>
> // cout << "The max number the vector can hold is : " <<
> ourvector.max_size();
>
>
> // cout << "\nourvector has : " << ourvector.capacity() << "
> elements in it";
>
> ourvector.push_back(99);
>
>
> // cout << "\nNow ourvector has : " << ourvector.size() << "
> elements in it";
>
> // cout << "\nThe Value of the first vector element is : " <<
> ourvector[0];
>
>
> // cout << "\nThe Value of our second vector element is : " <<
> ourvector.at(1) << endl;
>
> MPI::COMM_WORLD.Send(&ourvector[0],2,MPI::INT, 1, 1);
> // MPI::COMM_WORLD.Send(&ourvector[1],1,MPI::INT, 1, 1);
> }
> else{
> ourvector.reserve(2);
> MPI::COMM_WORLD.Recv(&ourvector[0],2, MPI::INT,0,1);
> // MPI::COMM_WORLD.Recv(&ourvector[1],1, MPI::INT,0,1);
>
> //ourvector.pop_back();
>
>
> cout << "ourvector now has : " << ourvector.capacity() << "
> elements" << endl;
> cout << "\nNow ourvector has 1st : " << ourvector[0];
> cout << "\nNow ourvector has 2nd : " << ourvector[1]<< endl;
> // cout << "Our fisrt element in ourvector is : " <<
> ourvector.front() << endl;
>
>
> ourvector.resize(9);
>
> ourvector.at(8) = 99;
>
> // cout << "Our last element in ourvect is : " <<
> ourvector.back() << endl;
>
> // cout << "ourvector now holds : " << ourvector.size() << "
> elements" << endl;
> }
> MPI::Finalize();
> return 0;
> } <http://trac.guake-terminal.org/files/>
>
>
> Now MY output is
> $ mpirun -np 2 ./vec.out
> ourvector now has : 2 elements
>
> Now ourvector has 1st : 98
> Now ourvector has 2nd :0
>
> I want output like <http://trac.guake-terminal.org/files/>
> $ mpirun -np 2 ./vec.out
> ourvector now has : 2 elements
>
> Now ourvector has 1st : 98
> Now ourvector has 2nd :99
>
> <http://trac.guake-terminal.org/files/>
More information about the mpich-discuss
mailing list