очень простой цикл очень странный результат - PullRequest
0 голосов
/ 22 января 2012

я знаю, это самая простая вещь, которую нужно сделать, но она не работает!

у меня есть это:

static float px=50;
static float py=40;

   for(int j=0;j<10;j++)
    {
       for(int i=0;i<10;i++)
       { 
           pixels[i]=CGPointMake( px+(i*32),   py+(j*32)   ); 
       }

    }



  for(int i=0;i<10;i++)
         NSLog(@"%@",NSStringFromCGPoint(pixels[i]));

кажется, что j получает значения мусора.я получаю первые 10 баллов с хорошими значениями point.x и странными значениями point.y, которые не являются инкрементными.

Ответы [ 3 ]

2 голосов
/ 22 января 2012

Вы только индексируете pixels по i, поэтому вы пишете одинаковые pixels записи для каждой j / строки.

Вы не даете декларацию для pixels, но я предполагаю, что вы хотите что-то вроде pixels[i + j*10].

1 голос
/ 22 января 2012

Действителен только последний цикл j , и результат такой же, как в этом случае:

//for(int j=0;j<10;j++)
j=9;
{
   for(int i=0;i<10;i++)
   { 
       pixels[i]=CGPointMake( px+(i*32),   py+(j*32)   ); 
   }

}

как мне кажется, вам нужен массив пикселей:

CGPoint pixels[10][10];

и в цикле:

* * 1010
0 голосов
/ 22 января 2012

Возможно, проблема в том, что ваш массив пикселей имеет только 10 индексов, к которым когда-либо обращались, потому что индекс i идет только от 0 до 9, независимо от j.Таким образом, index [10] и выше будут бессмысленными, потому что они никогда не пишутся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...