Generate dictionary with the help of two array

I

IPhone Lover

Hi Folks

I have two array

keyArr = [@"name",@"city",@"street"]
valueArr = [@"Bob",@"Newyork",@"dallas"]

addDict = {@"name":mad:"Bob",@"city":mad:"Newyork",@"street":mad:"dallas"}

Thanks for your all help..
 
F

Francesco S. Carta

[subject is:
"Generate dictionary with the help of two array"
please state your questions in the body of your message]
Hi Folks

I have two array

keyArr = [@"name",@"city",@"street"]
valueArr = [@"Bob",@"Newyork",@"dallas"]

addDict = {@"name":mad:"Bob",@"city":mad:"Newyork",@"street":mad:"dallas"}

What language is that? This is comp.lang.c++, I hope you noticed it ;-)

There are several different ways to implement (something like) the above
in C++, assuming you're really interested in this language... are you?

In such a case, please describe with greater detail the target you're
aiming to.
 
A

Alf P. Steinbach /Usenet

* IPhone Lover, on 15.09.2010 19:35:
I have two array

keyArr = [@"name",@"city",@"street"]
valueArr = [@"Bob",@"Newyork",@"dallas"]

addDict = {@"name":mad:"Bob",@"city":mad:"Newyork",@"street":mad:"dallas"}

What programming language is this?

It looks a little like Python, but the at signs are not Python.

I suggest posting in a group dedicated to your programming language.


Cheers & hth.,

- Alf
 
I

IPhone Lover

* IPhone Lover, on 15.09.2010 19:35:


I have two array
keyArr = [@"name",@"city",@"street"]
valueArr = [@"Bob",@"Newyork",@"dallas"]
addDict = {@"name":mad:"Bob",@"city":mad:"Newyork",@"street":mad:"dallas"}

What programming language is this?

It looks a little like Python, but the at signs are not Python.

I suggest posting in a group dedicated to your programming language.

Cheers & hth.,

- Alf

Sorry to all of you messed up, but language does not bound the logic.
I just mention '[]' instead of '()' to declare array.

I have solved the problem by using switch case
int cnt;
for(NSString* s in valueArr){
switch(cnt++):
case 0:
[dict setObject:s forKey:[keyArr objectAtIndex:0]
as on
 
F

Francesco S. Carta

* IPhone Lover, on 15.09.2010 19:35:


I have two array
keyArr = [@"name",@"city",@"street"]
valueArr = [@"Bob",@"Newyork",@"dallas"]
addDict = {@"name":mad:"Bob",@"city":mad:"Newyork",@"street":mad:"dallas"}

What programming language is this?

It looks a little like Python, but the at signs are not Python.

I suggest posting in a group dedicated to your programming language.

Cheers& hth.,

- Alf

Sorry to all of you messed up, but language does not bound the logic.
I just mention '[]' instead of '()' to declare array.

I have solved the problem by using switch case
int cnt;
for(NSString* s in valueArr){
switch(cnt++):
case 0:
[dict setObject:s forKey:[keyArr objectAtIndex:0]
as on

Uh... is that an incomplete post or what?

In any case, yes, the language does not bound the logic, but it can be
tricky to understand what exactly you're aiming to if we happen to
ignore the details of the language you're using... maybe you can express
it more clearly in pseudo-code or in plain English.

Here is an example about using std::map to create something along the
lines of your request, this is just one of the possible approaches and
even within the scope of this approach, the steps can be achieved in a
number of different manners.

Get a good C++ manual and don't forget to refer to the C++ FAQ available at:

http://www.parashift.com/c++-faq

Good luck learning C++!

//-------
#include <iostream>
#include <string>
#include <map>

using namespace std;

struct address {
string city;
string street;
};

int main() {
// create the database
// first: string (name, the key of the map)
// second: address (the data associated to the key)
map<string, address> db;

// insert data into the database

// one approach
// add and set the record directly
db["Smith, John"].city = "New York";
db["Smith, John"].street = "42th st.";

// another approach
// create a record
// and assign it to a key
address a = { "Roma", "Via dei Fori Imperiali" };
db["Rossi, Mario"] = a;

// print the database
map<string, address>::iterator it;
for(it = db.begin(); it != db.end(); ++it) {
// one approach
// access to the data
// via iterator members
cout << "Name: " << it->first << endl;
cout << "City: " << it->second.city << endl;
cout << "Street: " << it->second.street << endl;
cout << "---" << endl;

// another approach
// access to the data
// creating references
const string& name = it->first;
address& addr = it->second;
cout << "Nome: " << name << endl;
cout << "Citta': " << addr.city << endl;
cout << "Strada: " << addr.street << endl;
cout << "---" << endl;
}
}
//-------
 
I

IPhone Lover

* IPhone Lover, on 15.09.2010 19:35:
I have two array
keyArr = [@"name",@"city",@"street"]
valueArr = [@"Bob",@"Newyork",@"dallas"]
addDict = {@"name":mad:"Bob",@"city":mad:"Newyork",@"street":mad:"dallas"}
What programming language is this?
It looks a little like Python, but the at signs are not Python.
I suggest posting in a group dedicated to your programming language.
Cheers&  hth.,
- Alf
Sorry to all of you messed up, but language does not bound the logic.
I just mention '[]' instead of '()' to declare array.
I have solved the problem by using switch case
int cnt;
for(NSString* s in valueArr){
    switch(cnt++):
      case 0:
          [dict setObject:s forKey:[keyArr objectAtIndex:0]
     as on

Uh... is that an incomplete post or what?

In any case, yes, the language does not bound the logic, but it can be
tricky to understand what exactly you're aiming to if we happen to
ignore the details of the language you're using... maybe you can express
it more clearly in pseudo-code or in plain English.

Here is an example about using std::map to create something along the
lines of your request, this is just one of the possible approaches and
even within the scope of this approach, the steps can be achieved in a
number of different manners.

Get a good C++ manual and don't forget to refer to the C++ FAQ available at:

http://www.parashift.com/c++-faq

Good luck learning C++!

//-------
#include <iostream>
#include <string>
#include <map>

using namespace std;

struct address {
     string city;
     string street;

};

int main() {
     // create the database
     // first: string (name, the key of the map)
     // second: address (the data associated to the key)
     map<string, address> db;

     // insert data into the database

     // one approach
     // add and set the record directly
     db["Smith, John"].city = "New York";
     db["Smith, John"].street = "42th st.";

     // another approach
     // create a record
     // and assign it to a key
     address a = { "Roma", "Via dei Fori Imperiali" };
     db["Rossi, Mario"] = a;

     // print the database
     map<string, address>::iterator it;
     for(it = db.begin(); it != db.end(); ++it) {
         // one approach
         // access to the data
         // via iterator members
         cout << "Name: " << it->first << endl;
         cout << "City: " << it->second.city << endl;
         cout << "Street: " << it->second.street << endl;
         cout << "---" << endl;

         // another approach
         // access to the data
         // creating references
         const string& name = it->first;
         address& addr = it->second;
         cout << "Nome: " << name << endl;
         cout << "Citta': " << addr.city << endl;
         cout << "Strada: " << addr.street << endl;
         cout << "---" << endl;
     }}

//-------

Waa.o great explanation. first of all i appreciate for the link which
you refer me. that's really helpful.
Thanks Francesco
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,011
Latest member
AjaUqq1950

Latest Threads

Top