के रूप में एक मेरे सवाल here अप करने के लिए का पालन करें, मैं ऑब्जेक्टिव-सी में निम्नलिखित पीएचपी समारोह है, जो एक कार्तीय उत्पाद उत्पन्न होगा लागू करने के लिए कोशिश कर रहा हूँ:मैं कार्टियर उत्पाद फ़ंक्शन के इस उद्देश्य-सी कार्यान्वयन को कैसे पूरा कर सकता हूं?
function array_cartesian_product($arrays)
{
$result = array();
$arrays = array_values($arrays);
$sizeIn = sizeof($arrays);
$size = $sizeIn > 0 ? 1 : 0;
foreach ($arrays as $array)
$size = $size * sizeof($array);
for ($i = 0; $i < $size; $i ++)
{
$result[$i] = array();
for ($j = 0; $j < $sizeIn; $j ++)
array_push($result[$i], current($arrays[$j]));
for ($j = ($sizeIn -1); $j >= 0; $j --)
{
if (next($arrays[$j]))
break;
elseif (isset ($arrays[$j]))
reset($arrays[$j]);
}
}
return $result;
}
यहाँ मैं अब तक है:
-(NSArray *) array_cartesian_product:(NSArray *)arrays {
NSMutableArray *result = [[NSMutableArray alloc] init];
int sizeIn = [arrays count];
int size = (sizeIn > 0) ? 1 : 0;
for(id array in arrays)
size *= [array count];
for(int i = 0; i < size; i++) {
for (int j = 0; j < sizeIn; j++) {
[result insertObject:[arrays objectAtIndex:j] atIndex:i];
}
for (int j = (sizeIn - 1); j >= 0; j--) {
// ?????
}
}
return result;
}
मैं जब PHP के next
, current
और reset
कार्यों के बराबर कोड करने के लिए कोशिश कर खो रहा हूँ, के रूप में मैं नहीं पता सरणी के लिए आंतरिक सूचक संदर्भ के लिए कैसे।
मैं कोड के अंतिम ब्लॉक को कैसे कार्यान्वित कर सकता हूं और समकक्ष कार्य कैसे प्राप्त कर सकता हूं?
आप सरणी के प्रगणक वस्तु उपयोग करने पर विचार किया? –
बहुत स्थानीयकृत? मुझे यकीन है कि कोई इसे सड़क के नीचे उपयोग कर सकता है, और उद्देश्य-सी में एक कार्टेसियन उत्पाद फ़ंक्शन को ज्ञानबेस में जोड़ना चोट नहीं पहुंचाएगा ... – barfoon