Вопрос на засыпку.
#1

Есть массив M1 с максимальным количеством ячеек 611, есть второй M2 массив с количеством ячеек 48.

внимание вопрос:
Как перекинуть значения по условии(если значение из M1 подходит для M2) из ячеек M1 в M2 так чтобы M2 не вышел за пределы 48 ячеек и в ней не осталось пустых ячеек между значениями?
Reply
#2

sizeof
Reply
#3

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
sizeof
sizeof? нет видимо ты не правильно понял меня, прочитай вопрос ещё раз

PHP код:
    new M2[48];
    for(new 
400sizeof(М1); i++)
    {
        if(
М1[i][Z] != Z)continue;
        else if(
sizeof(M2))break;
        else 
М2[i-400] = i;
    } 
что то типо этого...
Reply
#4

Вот рабочий код, в общем логика такова:

PHP код:
F1(Z)
{
    new 
M2[48];
    for(new 
400sizeof(M1); i++)
    {
        if(
M1[i][Z] != Z) continue;
        else
        {
            for(new 
ssizeof(M2); s++)
            {
                if(
M2[s])continue;
                else 
M2[s] = i;
            }
        }
    }

но тут может дойти до 10128 итераций это очень плохо.. хотя можно один раз заполнить как нужно потом использовать M2 как статичный массив.
Reply
#5

Я всё правильно понял. sizeof как раз и нужен, чтобы за пределы массива не выходили данные.
Reply
#6

Не очень понял задачу. Если не то - поправь.

PHP код:
F1(Z)
{
    new 
M2[48]; 
    for(new 
400Asizeof(M2) && sizeof(M1); i++)
    {
        if(
M1[i][Z] != Z) continue;
        
M2[A] = i;
        
A++;
    }

Reply
#7

тебе все 611 перекинуть надо?
Reply
#8

Очень не рационально для 211 едениц транспорта создавать массив на 611 ячеек.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)