我是Objective-C编程的新手,我的背景是labview,这是一种图形化编程语言,我使用Visual Basic和
HTML / CSS也是相当多的.我正在试图找出为下面的模式创建数据数组的逻辑.我稍后需要该模式以特定顺序从另外2个数组中提取数据.
我可以通过引用a = 1,b = 2,c = 3等来完成,然后使用a,b,c创建数组,但我想使用一个循环,这样我就没有数组上面的8个引用.这些引用将用于生成另一代数据,因此,除非我能帮助找出逻辑,否则我将最终得到数组上方的72个引用.
//这是第一个给出模式的
0 0 0 0(etc)// 1 1 1 1 // 2 2 2 2
NSMutableArray * expSecondRef_one = [NSMutableArray array];
int a1 = 0;
while (a1 < 9) {
int a2 = 0;
while (a2 < 8) {
NSNumber * a3 = [NSNumber numberWithInt:a1];
[expSecondRef_one addObject:a3];
a2++;
}
a1++;
}
//这是我绊倒的第二个,我正在寻找模式
1 2 3 4 5 6 7 8 //
0 2 3 4 5 6 7 8 //
0 1 3 4 5 6 7 8 //
0 1 2 4 5 6 7 8 // etc to -> // 0 1 2 3 4 5 6 7
如果你在一行中运行它,每第9个数字为-1,但我不知道如何在8的模式上执行此操作.
提前致谢!
格雷厄姆
最佳答案 我想你正在寻找类似的东西:
for(int i = 0; i < 9; ++i) {
for (int j = 0; j < 8; ++j) {
if (j < i) {
//Insert j into array
}
else {
//Insert j + 1 into array
}
}
}
我遗漏了代码以实际将数字插入数组中.
我并不完全清楚你是如何使用这个数组的,但是如果这只是从另一组数组访问数据的索引顺序,你可以跳过第一组数组并只使用这个循环来稍后访问您的数据.
– 编辑 –
如果我正确理解您,您希望将9个数字的数组中的每个索引与每个其他索引进行比较,然后将结果存储在数组中.如果是这样的话,你可以这样做:
for (int i = 0; i < 9; ++i) {
for (j = 0; j < 9; ++j) {
if (j != i) {
//Compare object at array index i with object at array index j
}
}
}