42-4-´Ù.inner_product

´ÙÀ½ ÇÔ¼ö´Â ³»ÀûÀ» °è»êÇÑ´Ù.

 

T inner_product(InIt1 first1, InIt1 last1, InIt2 first2, T val [, BinOp op1, BinOp op2]);

 

³»ÀûÀ̶õ µÎ ±¸°£ÀÇ ´ëÀÀµÇ´Â ¿ä¼Ò³¢¸® °öÇÑ ÈÄ Àüü¸¦ ´õÇÑ °ªÀÌ´Ù. µÎ °³ÀÇ ¹Ýº¹ÀÚ ±¸°£°ú ÃʱⰪ valÀ» ÁöÁ¤ÇÏ¸ç ³»Àû °è»ê¿¡ »ç¿ëµÉ µÎ °³ÀÇ ÀÌÇ× ÇÔ¼ö °´Ã¼¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. µðÆúÆ® ¿¬»êÀÚ´Â *¿Í +·Î µÇ¾î ÀÖ¾î °öÀÇ ÇÕÀ» ±¸ÇÏÁö¸¸ ´Ù¸¥ ¿¬»êÀ» ÁöÁ¤Çϸé ÇÕÀÇ °öÀ» ±¸Çϰųª ³ª¸ÓÁöÀÇ ÇÕÀ» ±¸ÇÏ´Â ½ÄÀ¸·Îµµ ¿¬»êÇÒ ¼ö ÀÖ´Ù.

 

¿¹ Á¦ : inner_product

#include <iostream>

#include <vector>

#include <numeric>

#include <algorithm>

using namespace std;

 

void main()

{

     int inp;

     vector<int> vi1,vi2;

     vi1.push_back(2);vi1.push_back(3);vi1.push_back(4);

     vi2.push_back(5);vi2.push_back(6);vi2.push_back(7);

     inp=inner_product(vi1.begin(),vi1.end(),vi2.begin(),0);

     printf("³»Àû = %d\n",inp);

}

 

°á°ú´Â 2*5 + 3*6 + 4*7ÀÎ 56ÀÌ´Ù. º¤ÅÍÀÇ ¿ä¼Ò °³¼ö°¡ ¸¹¾ÆÁö¸é ÀÌ °ªµµ ±²ÀåÈ÷ Ä¿Áú ¼ö ÀÖ´Ù. ´ÙÀ½ ÇÔ¼ö´Â µÎ ÄÁÅ×À̳ÊÀÇ ¹Ýº¹ÀÚ ±¸°£À» »çÀü¼øÀ¸·Î ºñ±³ÇÑ´Ù.

 

bool lexicographical_compare (InIt1 first1, InIt1 last1, InIt2 first2 [, BinPred F]);

 

µÎ ±¸°£ÀÇ ´ëÀÀµÇ´Â ¿ä¼Ò¸¦ Â÷·Ê´ë·Î ºñ±³Çϴµ¥ ù ¹ø° ¿ä¼Ò°¡ µÎ ¹ø° ¿ä¼Òº¸´Ù ÀÛÀ¸¸é true¸¦ ¸®ÅÏÇÏ°í Å©¸é false¸¦ ¸®ÅÏÇϸç Áï½Ã Á¾·áÇÑ´Ù. ¸¸¾à °°´Ù¸é ´ÙÀ½ ¿ä¼Ò¸¦ ¶È°°Àº ¹æ½ÄÀ¸·Î °è¼Ó ºñ±³Çϱ⸦ ±¸°£³¡±îÁö ¹Ýº¹ÇÑ´Ù. µðÆúÆ® ºñ±³ ÇÔ¼ö °´Ã¼°¡ lessÀ̹ǷΠù ¹ø° ±¸°£ÀÌ µÎ ¹ø° ±¸°£º¸´Ù À۾ƾ߸¸ true¸¦ ¸®ÅÏÇÏ¸ç °°À» °æ¿ì´Â ÀÛÁö ¾ÊÀ¸¹Ç·Î false°¡ ¸®ÅϵȴÙ. ¸¸¾à ù ¹ø° ±¸°£ÀÌ ¸ÕÀú ³¡³ª°í µÎ ¹ø° ±¸°£Àº ¾ÆÁ÷ °ªÀÌ ³²¾ÒÀ¸¸é ÀÌ °æ¿ì´Â true¸¦ ¸®ÅÏÇÑ´Ù.

 

¿¹ Á¦ : lexicographical

#include <iostream>

#include <vector>

#include <numeric>

#include <algorithm>

using namespace std;

 

void main()

{

     vector<int> vi1,vi2;

     for (int i=8;i<16;i++) {

          vi1.push_back(i);

          vi2.push_back(i);

     }

     //vi1[5]=0;

     if (lexicographical_compare(vi1.begin(),vi1.end(),vi2.begin(),vi2.end())) {

          cout << "vi1ÀÌ ´õ ÀÛ´Ù" << endl;

     } else {

          cout << "vi1ÀÌ ´õ ÀÛÁö ¾Ê´Ù" << endl;

     }

}

 

ÀÌ´ë·Î ÄÄÆÄÀÏÇÏ¸é µÎ º¤ÅÍ°¡ ¿ÏÀüÈ÷ µ¿ÀÏÇϹǷΠ´õ ÀÛÁö ¾Ê´Ù°¡ Ãâ·ÂµÈ´Ù. ÁÖ¼®À» Ç®¾î vi1[5]¸¦ 0À¸·Î ¸¸µé¸é vi1ÀÌ ´õ ÀÛÀº °ÍÀ¸·Î Æò°¡µÉ °ÍÀÌ´Ù.