Sponsored Content
Top Forums Programming Finding items that occur more than once in a vector Post 302520943 by LMHmedchem on Monday 9th of May 2011 08:25:02 PM
Old 05-09-2011
Quote:
Originally Posted by Corona688
Code:
map<int,int> imap;

map[5]++;

Well that's embarrassingly simple. Smilie

Why am I always sticking my maps in an initialization function that returns the map?

Based on the above, can I do something simple like,
Code:
std::map<int,int> vec1Map;
myInt = 5;
vec1Map[myInt]++;
myInt = 2;
vec1Map[myInt]++;
myInt = 9;
vec1Map[myInt]++;
myInt = 5;
vec1Map[myInt]++;

to result in,
Code:
vec1Map[5,2];
vec1Map[2,1];
vec1Map[9,1];

or do I have to use something like find() to see if the key is already present?

LMHmedchem

---------- Post updated at 08:25 PM ---------- Previous update was at 07:20 PM ----------

This is what I have at the moment,
Code:
void loadMap(int lrdr, int k1, int k2, std::map<int,int> &getMap);

std::map<int,int> map1;

lrdr = 1; k1 = 17; k2 = 21;
loadMap(lrdr, k1, k2, map1);

void loadMap(int lrdr, int k1, int k2, std::map<int,int> &getMap) {
   int tmpInt;
   BondKey key(lrdr, k1, k2);
   BondMap::iterator iter = order_map.find(key);
   if (iter != order_map.end()) {
      BondInfo& bond_info = (*iter).second;
      for (int i=0; i<bond_info.m_nums.size(); i++) {
         tmpInt = ( (int) bond_info.m_nums[i].m_numI );
         getMap[tmpInt]++;
      }
   }
}

This retrieves some data from objects and gives me gives a map,
Code:
map1[7]  2
map1[14] 2
map1[21] 1
map1[22] 1

instead of the old vector, [7, 14, 21, 7, 14, 22], which is correct for the example I'm working on.

Now I need to parse the map back into two vectors, which I think I know how to do. Are there any bear traps in this so far? I tried to pass the map as a pointer, but the receiving function seemed to need to know the size of the map and it wouldn't compile.

LMHmedchem
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Why SIGKILL will occur?

Hi Gurus, I am executing my Datastage jobs on UNIX operating System. While running the jobs i am getting the following error: main_program: Unexpected termination by Unix signal 9(SIGKILL) Can any one please let me know what are the possible situations where this SIGKILL will arrise? ... (9 Replies)
Discussion started by: choppas
9 Replies

2. Shell Programming and Scripting

how many times a word occur in afile

i want a shell script program for how many times a word occur in a file. i need not the line number but i want the counts of the particular word for eg:- hai how r u.. i am from andhra pradesh.. i am from tenali.i need this answer.i need it urgently.. i hope u will answer this ... ... (9 Replies)
Discussion started by: madhu.it
9 Replies

3. Shell Programming and Scripting

awk between items including items

OS=HP-UX ksh The following works, except I want to include the <start> and <end> in the output. awk -F '<start>' 'BEGIN{RS="<end>"; OFS="\n"; ORS=""} {print $2} somefile.log' The following work in bash but not in ksh sed -n '/^<start>/,/^<end>/{/LABEL$/!p}' somefile.log (4 Replies)
Discussion started by: Ikon
4 Replies

4. Shell Programming and Scripting

finding missing items in file

I have a need to compare 2 files, then print results to file. Need to find items from file2 that are not found in file 1. thanks in advance! example: file 1: abcde=12 fffff=6 bbbb=35 file2: abcde=12 fffff=6 bbbb=35 ccccc=10 kkkkk=45 (8 Replies)
Discussion started by: discostu
8 Replies

5. Shell Programming and Scripting

To find number of char occur

To find out number of "|" symbol is available in file: Input: a|b|c|d|z Ouput: 4 I am using below set of commands,It is working... Anybody have anyother solution using sed / awk. cnt=`wc -c <1.txt` cnt1=`tr -d "|" <1.txt >c.dat` cnt2=`wc -c <c.dat` outp=`expr $cnt... (19 Replies)
Discussion started by: Jairaj
19 Replies

6. UNIX for Dummies Questions & Answers

C shell loop problem occur

Hi all, i create 2 file Config path1 5 group1 path2 6 group2 path3 10 group1 path4 15 group2 Confine group1 andrew group2 alan In my C shell script i write like this: set line_array = (`cat $app_dir/config`) set line_array_2 =... (0 Replies)
Discussion started by: proghack
0 Replies

7. Shell Programming and Scripting

Print lines where variables occur more than once using grep

Hello, I want to only print lines where variables occur more than once using grep. For eg: Input: $this is a comment int a,b,c,b; int b,c; int d,e; int f,g,f; x=y+5; For the above input, the output would be int a,b,c,b; int f,g,f; I have done grep... (3 Replies)
Discussion started by: prasanna1157
3 Replies

8. Shell Programming and Scripting

Help with Perl script that can check a URL and notifiy when changes occur

I'm a scripting newbie and I'm trying to learn. No better way than being assigned a project. So basically, I'm trying to come up with a script that can periodically check a URL and then notify when changes occur to the file. So what I'm thinking is that I need to devise a PERL script that... (3 Replies)
Discussion started by: adam1mc
3 Replies

9. Cybersecurity

Where does Ciphering & Encryption occur?

Hello everyone. Upon reading the recent news about the NSA paying RSA to use a faulty cipher suite for it's default, it got me thinking... During a connection say for SSL, what is it that "knows" the rules for ciphers? Are these rules stored on the NIC? can they be edited, changed or appended? ... (3 Replies)
Discussion started by: Lost in Cyberia
3 Replies
All times are GMT -4. The time now is 08:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy