Re: Generate dictionary with the help of two array
IPhone Lover <iphone.objcode@gmail.com>, on 16/09/2010 01:17:36, wrote:
On Sep 15, 10:47 pm, "Alf P. Steinbach /Usenet"<alf.p.steinbach
+use...@gmail.com> wrote:
* IPhone Lover, on 15.09.2010 19:35:
I have two array
keyArr = [@"name",@"city",@"street"]
valueArr = [@"Bob",@"Newyork",@"dallas"]
addDict = {@"name":@"Bob",@"city":@"Newyork",@"street":@"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
--
blog at<url:http://alfps.wordpress.com>
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;
}
}
//-------
--
FSC - http://userscripts.org/scripts/show/59948
http://fscode.altervista.org - http://sardinias.com