當前位置: 首頁>>代碼示例>>C++>>正文


C++ std::fill_n方法代碼示例

本文整理匯總了C++中std::fill_n方法的典型用法代碼示例。如果您正苦於以下問題:C++ std::fill_n方法的具體用法?C++ std::fill_n怎麽用?C++ std::fill_n使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在std的用法示例。


在下文中一共展示了std::fill_n方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。

示例1: main

int main()
{
	vector<int> vec(10);              // default initialized to 0
	fill(vec.begin(), vec.end(), 1);  // reset each element to 1

	// sum the elements in vec starting the summation with the value 0
	int sum = accumulate(vec.cbegin(), vec.cend(), 0);
	cout << sum << endl;
	
	// set a subsequence of the container to 10
	fill(vec.begin(), vec.begin() + vec.size()/2, 10);
	cout << accumulate(vec.begin(), vec.end(), 0) << endl;

	// reset the same subsequence to 0
	fill_n(vec.begin(), vec.size()/2, 0);
	cout << accumulate(vec.begin(), vec.end(), 0) << endl;

	// create 10 elements on the end of vec each with the value 42
	fill_n(back_inserter(vec), 10, 42);
	cout << accumulate(vec.begin(), vec.end(), 0) << endl;
	
	// concatenate elements in a vector of strings and store in sum 
	vector<string> v;
	string s;
	while (cin >> s)
		v.push_back(s);
	string concat = accumulate(v.cbegin(), v.cend(), string(""));
	cout << concat << endl;
	
	return 0;
}
開發者ID:MGZX,項目名稱:cpp_primer,代碼行數:31,代碼來源:accum.cpp

示例2: operators_test

void operators_test() {
  long xnr = 100;
  long ynr = 10;
  long nc = 10;

  LDL_ts x(xnr,nc);
  LDL_ts y(ynr,nc);

  // gernate data
  fill_n(x.getData(),x.nrow()*x.ncol(),100.0);
  fill_n(y.getData(),y.nrow()*y.ncol(),5.0);

  // generate dates
  for(long xi = 0; xi < x.nrow(); xi++)
    x.getDates()[xi] = xi;

  // generate dates
  for(long yi = 0; yi < y.nrow(); yi++)
    y.getDates()[yi] = yi;

  LDL_ts Zplus = x + y;
  LDL_ts Zminus = x - y;
  LDL_ts Zmultiplies = x * y;
  LDL_ts Zdivides = x / y;

  BOOST_CHECK_EQUAL( Zplus.nrow(), y.nrow() );
  BOOST_CHECK_EQUAL( Zplus.ncol(), 10 );

  BOOST_CHECK_EQUAL( Zminus.nrow(), y.nrow() );
  BOOST_CHECK_EQUAL( Zminus.ncol(), 10 );

  BOOST_CHECK_EQUAL( Zmultiplies.nrow(), y.nrow() );
  BOOST_CHECK_EQUAL( Zmultiplies.ncol(), 10 );

  BOOST_CHECK_EQUAL( Zdivides.nrow(), y.nrow() );
  BOOST_CHECK_EQUAL( Zdivides.ncol(), 10 );

  // add test for all== later
  LDL_ts XplusS = x + 100.0;
  LDL_ts SplusX = 100.0 + x;

  LDL_ts XminusS = x - 100.0;
  LDL_ts SminusX = 100.0 - x;

  LDL_ts XmultS = x * 100.0;
  LDL_ts SmultX = 100.0 * x;

  LDL_ts XdivS = x / 100.0;
  LDL_ts SdivX = 100.0 * x;

  vector<bool> xb_eq_scalar = x == 10;
  vector<bool> xb_neq_ts = x != y;
  vector<bool> xb_gt_ts = x > y;
  vector<bool> xb_gte_ts = x >= y;
  vector<bool> xb_lt_ts = x < y;
  vector<bool> xb_lte_ts = x <= y;
}
開發者ID:Ecthilisyk,項目名稱:tslib_wip,代碼行數:57,代碼來源:test.cpp

示例3: main

int main()
{
	vector<int>ivec(10);		//default initialized to 0
	fill(ivec.begin(), ivec.end(), 1);		//reset each element to 1

	//print elements in ivec
	auto iter = ivec.begin();
	while (iter != ivec.end())
		cout << *iter++ << " ";
	cout << endl;
	//sum the elements in ivec starting the summation with the value 0
	int sum = accumulate(ivec.begin(), ivec.end(), 0);
	cout << sum << endl;

	//set a subsequence of the container to 10
	fill(ivec.begin(), ivec.begin() + ivec.size() / 2, 10);
	cout << accumulate(ivec.begin(), ivec.end(), 0) << endl;

	//reset the same subsequence to 0
	fill_n(ivec.begin(), ivec.size() / 2, 0);
	cout << accumulate(ivec.begin(), ivec.end(), 0) << endl;

	//concatenates elements	in a vector of strings and store in sum
	vector<string>v;
	string s;
	while (cin >> s)
		v.push_back(s);
	string concat = accumulate(v.begin(), v.end(), string(""));
	cout << concat << endl;
	getchar();
}
開發者ID:Larry955,項目名稱:learnCPP,代碼行數:31,代碼來源:accum.cpp

示例4: main

int main() {
	vector<int> vec{1, 2, 3, 4, 5, 6};
	fill_n(vec.begin(), vec.size(), 7);
	for (auto i : vec)
		cout << i << " ";
	cout << endl;
	return 0;
}
開發者ID:GitHCoRradO,項目名稱:myCppPrimerExercises,代碼行數:8,代碼來源:Ex10.6.cpp

示例5: main

int main()
{
    vector<int> vec{0,1,2,3,4,5,6,7,8,9};
    fill_n(vec.begin(), vec.size(), 0);
    
    for (auto i : vec)
        cout << i << " ";
    cout << endl;
}
開發者ID:187101,項目名稱:Cpp-Primer,代碼行數:9,代碼來源:ex10_06.cpp

示例6: main

int main()
{
    vector<int> ivec = {1,2,3,4,5,6,7,8,9};
    fill_n(ivec.begin(), ivec.size(), 0);
    for(auto c : ivec)
        cout << c << " ";
    cout << endl;
    return 0;
}
開發者ID:zmsunnyday,項目名稱:Cpp-Primer,代碼行數:9,代碼來源:exc10_6.cpp

示例7: mixed_operators_test

void mixed_operators_test() {
  long xnr = 100;
  long ynr = 10;
  long nc = 10;

  LDL_ts x(xnr,nc);
  LIL_ts y(ynr,nc);

  // gernate data
  fill_n(x.getData(),x.nrow()*x.ncol(),100.0);
  fill_n(y.getData(),y.nrow()*y.ncol(),5);

  // generate dates
  for(long xi = 0; xi < x.nrow(); xi++)
    x.getDates()[xi] = xi;

  // generate dates
  for(long yi = 0; yi < y.nrow(); yi++)
    y.getDates()[yi] = yi;

  LDL_ts Zplus = x + y;
  LDL_ts Zminus = x - y;
  LDL_ts Zmultiplies = x * y;
  LDL_ts Zdivides = x / y;

  BOOST_CHECK_EQUAL( Zplus.nrow(), y.nrow() );
  BOOST_CHECK_EQUAL( Zplus.ncol(), 10 );

  BOOST_CHECK_EQUAL( Zminus.nrow(), y.nrow() );
  BOOST_CHECK_EQUAL( Zminus.ncol(), 10 );

  BOOST_CHECK_EQUAL( Zmultiplies.nrow(), y.nrow() );
  BOOST_CHECK_EQUAL( Zmultiplies.ncol(), 10 );

  BOOST_CHECK_EQUAL( Zdivides.nrow(), y.nrow() );
  BOOST_CHECK_EQUAL( Zdivides.ncol(), 10 );

  vector<bool> xb_eq_scalar = x == static_cast<int>(10);
  vector<bool> xb_neq_ts = x != y;
  vector<bool> xb_gt_ts = x > y;
  vector<bool> xb_gte_ts = x >= y;
  vector<bool> xb_lt_ts = x < y;
  vector<bool> xb_lte_ts = x <= y;
}
開發者ID:Ecthilisyk,項目名稱:tslib_wip,代碼行數:44,代碼來源:test.cpp

示例8: save

template <typename T, typename MemoryBlock> void save(
    archive& ar
    , std::string const& path
    , alps::numeric::matrix<T, MemoryBlock> const& m
    , std::vector<std::size_t> size   = std::vector<std::size_t>()
                                        , std::vector<std::size_t> chunk  = std::vector<std::size_t>()
                                                , std::vector<std::size_t> offset = std::vector<std::size_t>()
) {
    using std::copy;
    using std::fill_n;
    using alps::cast;
    typedef typename alps::numeric::matrix<T,MemoryBlock>::const_col_element_iterator col_iterator;
    if (is_continuous<T>::value && m.empty())
        ar.write(path, static_cast<typename scalar_type<alps::numeric::matrix<T, MemoryBlock> >::type const *>(NULL), std::vector<std::size_t>());
    else if (is_continuous<T>::value) {
        std::vector<std::size_t> extent(get_extent(m));
        copy(extent.begin(),extent.end(), std::back_inserter(size));
        // We want to write one column:
        chunk.push_back(1);
        // How much memory does the column and the elements it contains need?
        copy(extent.begin()+1,extent.end(), std::back_inserter(chunk));
        std::size_t const offset_col_index = offset.size();
        fill_n(std::back_inserter(offset), extent.size(), 0);
        // Write column by column
        for(std::size_t j=0; j < num_cols(m); ++j) {
            offset[offset_col_index] = j;
            ar.write(path, get_pointer(*(col(m, j).first)), size, chunk, offset);
        }
    } else if (m.empty())
        ar.write(path, static_cast<int const *>(NULL), std::vector<std::size_t>());
    else if (is_vectorizable(m)) {
        size.push_back(num_cols(m));
        size.push_back(num_rows(m));
        // We want to write element by element:
        chunk.push_back(1);
        chunk.push_back(1);
        std::size_t const offset_col_index = offset.size();
        std::size_t const offset_row_index = offset.size()+1;
        offset.push_back(0);
        offset.push_back(0);
        for(std::size_t j=0; j < num_cols(m); ++j) {
            offset[offset_col_index] = j;
            for(std::size_t i=0; i< num_rows(m); ++i) {
                offset[offset_row_index] = i;
                save(ar, path, m(i,j), size, chunk, offset);
            }
        }
    } else {
        if( ar.is_data(path) )
            ar.delete_data(path);
        for(std::size_t j=0; j < num_cols(m); ++j)
            for(std::size_t i=0; i < num_rows(m); ++i)
                save(ar, ar.complete_path(path) + "/" + cast<std::string>(j) + "/" + cast<std::string>(i), m(i,j) );
    }
}
開發者ID:ryanlevy,項目名稱:ALPSCore,代碼行數:55,代碼來源:matrix.hpp

示例9: main

int main(void)
{
    constexpr int size = 10;
    vector<int> ivec(size);

    fill_n(ivec.begin(), ivec.size(), 1);
    for (const int i : ivec)
        cout << i << " ";
    cout << endl;

    return 0;
}
開發者ID:Cuculidae,項目名稱:Learn,代碼行數:12,代碼來源:fill_n.cpp

示例10: assignment_test

void assignment_test() {
  long xnr = 10;
  long xnc = 2;

  long ynr = 100;
  long ync = 50;

  LDL_ts x(xnr,xnc);
  LDL_ts y(ynr,ync);

  fill_n(x.getData(),x.nrow()*x.ncol(),1.0);
  fill_n(y.getData(),y.nrow()*y.ncol(),2.0);

  // test self assignment
  x = x;

  BOOST_CHECK_EQUAL(x.nrow(),xnr);
  BOOST_CHECK_EQUAL(x.ncol(),xnc);
  BOOST_CHECK_EQUAL(x.getData()[0],1.0);


  // TS TS assignment
  BOOST_CHECK_EQUAL(y.getData()[0],2.0);
  y = x;

  BOOST_CHECK_EQUAL(y.nrow(),xnr);
  BOOST_CHECK_EQUAL(y.ncol(),xnc);
  BOOST_CHECK_EQUAL(y.getData()[0],1.0);

  x = 100.0;

  // check that dims are same as before
  BOOST_CHECK_EQUAL(x.nrow(),xnr);
  BOOST_CHECK_EQUAL(x.ncol(),xnc);

  // now all values of x shoud be == 100.0
  for(long i = 0; i < x.nrow()*x.ncol(); i++) {
    BOOST_CHECK_EQUAL(x.getData()[i],100);
  }
}
開發者ID:Ecthilisyk,項目名稱:tslib_wip,代碼行數:40,代碼來源:test.cpp

示例11: minCut

 int minCut(string s) {
     const int n = s.size();
     int f[n+1];
     bool p[n][n];
     fill_n(&p[0][0], n * n, false);
     for (int i = 0; i <= n; i++)
         f[i] = n - i - 1;
     for (int i = n; i >= 0; i--) {
         for (int j = i; j < n; j++) {
             if (s[i] == s[j] && (j - i < 2 || p[i + 1][j - 1])) {
                 p[i][j] = true;
                 f[i] = min(f[i], f[j+1] + 1);
             }
         }
     }
     return f[0];
 }
開發者ID:qinf,項目名稱:myLeetcode,代碼行數:17,代碼來源:PalindromePartitioningII.cpp

示例12:

Registers::Registers()
{
    // Set all registers to zero.
    fill_n( registers_, 32, 0 );
    regmap_["$zero"] =  0;
    regmap_["$at"] =  1;
    regmap_["$v0"] =  2;
    regmap_["$v1"] =  3;
    regmap_["$a0"  ] =  4;
    regmap_["$a1"] =  5;
    regmap_["$a2"] =  6;
    regmap_["$a3"] =  7;
    regmap_["$t0"  ] =  8;
    regmap_["$t1"] =  9;
    regmap_["$t2"] = 10;
    regmap_["$t3"] = 11;
    regmap_["$t4"  ] = 12;
    regmap_["$t5"] = 13;
    regmap_["$t6"] = 14;
    regmap_["$t7"] = 15;
    regmap_["$s0"  ] = 16;
    regmap_["$s1"] = 17;
    regmap_["$s2"] = 18;
    regmap_["$s3"] = 19;
    regmap_["$s4"  ] = 20;
    regmap_["$s5"] = 21;
    regmap_["$s6"] = 22;
    regmap_["$s7"] = 23;
    regmap_["$t8"  ] = 24;
    regmap_["$t9"] = 25;
    regmap_["$k0"] = 26;
    regmap_["$k1"] = 27;
    regmap_["$gp"  ] = 28;
    regmap_["$sp"] = 29;
    regmap_["$fp"] = 30;
    regmap_["$ra"] = 31;
}
開發者ID:zao,項目名稱:mips05,代碼行數:37,代碼來源:Registers.cpp

示例13:

// ********************************************************************************************
//
// ********************************************************************************************
AmbCodes::AmbCodes()
{
	using std::fill_n;

	fill_n(trans_amb_codes, 256, 0);
	trans_amb_codes['Y'] = 2;
	trans_amb_codes['R'] = 3;
	trans_amb_codes['W'] = 4;
	trans_amb_codes['S'] = 5;
	trans_amb_codes['K'] = 6;
	trans_amb_codes['M'] = 7;
	trans_amb_codes['D'] = 8;
	trans_amb_codes['V'] = 9;
	trans_amb_codes['H'] = 10;
	trans_amb_codes['B'] = 11;
	trans_amb_codes['N'] = 12;
	trans_amb_codes['X'] = 13;
	trans_amb_codes['U'] = 14;
	trans_amb_codes['.'] = 15;
	trans_amb_codes['-'] = 16;
	trans_amb_codes['A'] = 1;
	trans_amb_codes['C'] = 1;
	trans_amb_codes['T'] = 1;
	trans_amb_codes['G'] = 1;

	fill_n(untrans_amb_codes+128+ 0*8, 8, 'Y');
	fill_n(untrans_amb_codes+128+ 1*8, 8, 'R');
	fill_n(untrans_amb_codes+128+ 2*8, 8, 'W');
	fill_n(untrans_amb_codes+128+ 3*8, 8, 'S');
	fill_n(untrans_amb_codes+128+ 4*8, 8, 'K');
	fill_n(untrans_amb_codes+128+ 5*8, 8, 'M');
	fill_n(untrans_amb_codes+128+ 6*8, 8, 'D');
	fill_n(untrans_amb_codes+128+ 7*8, 8, 'V');
	fill_n(untrans_amb_codes+128+ 8*8, 8, 'H');
	fill_n(untrans_amb_codes+128+ 9*8, 8, 'B');
	fill_n(untrans_amb_codes+128+10*8, 8, 'N');
	fill_n(untrans_amb_codes+128+11*8, 8, 'X');
	fill_n(untrans_amb_codes+128+12*8, 8, 'U');
	fill_n(untrans_amb_codes+128+13*8, 8, '.');
	fill_n(untrans_amb_codes+128+14*8, 8, '-');
}
開發者ID:PCDS,項目名稱:paraDSRC,代碼行數:44,代碼來源:fastq.cpp


注:本文中的std::fill_n方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。