Запись результата цикла в массив

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Запись результата цикла в массив

Сообщение Mmbopa 22 май 2019, 20:52

Привет. Есть поиск. Нехватает ума записать результаты s в массив. Помогите пожалуйста.

Синтаксис:
Используется csharp
for(int i=0;i<Massiv.Length;i++){

Array.Sort(Massiv[i].Param);
int s=Array.BinarySearch(Massiv[i].Param, slovo);
if(s>=0){
   
  ???result[]???
   
    Debug.Log(result);
    }
}
Mmbopa
UNец
 
Сообщения: 15
Зарегистрирован: 19 май 2019, 15:56

Re: Запись результата цикла в массив

Сообщение 1max1 22 май 2019, 21:01

Massiv[i].Param Это массив в массиве что ли?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Запись результата цикла в массив

Сообщение Mmbopa 22 май 2019, 21:11

1max1 писал(а):Massiv[i].Param Это массив в массиве что ли?

Да.
Mmbopa
UNец
 
Сообщения: 15
Зарегистрирован: 19 май 2019, 15:56

Re: Запись результата цикла в массив

Сообщение 1max1 22 май 2019, 21:18

Какие результаты поиска ты хочешь получить? Массив индексов, которые соответствуют значению?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Запись результата цикла в массив

Сообщение Mmbopa 22 май 2019, 21:32

1max1 писал(а):Какие результаты поиска ты хочешь получить? Массив индексов, которые соответствуют значению?

Если находит слово приходит S=индекс. Получается очередность приходит S . s=1 s=5 s=99 и так далее сколько смотря совпало.
Нужно чтобы эти S записались в массив)
Mmbopa
UNец
 
Сообщения: 15
Зарегистрирован: 19 май 2019, 15:56

Re: Запись результата цикла в массив

Сообщение 1max1 22 май 2019, 21:49

Синтаксис:
Используется csharp
static int[] Search(Array array, object value)
    {
        Array.Sort(array);

        int i = Array.IndexOf(array, value);

        if (i >= 0)
        {
            int j = Array.LastIndexOf(array, value);

            if (j > 0 && i != j)
            {
                int[] r = new int[j - i + 1];

                for (int q = 0; q < r.Length; ++q)
                {
                    r[q] = q + i;
                }

                return r;
            }
            else
                return new int[] { i };
        }

        return null;
    }

Синтаксис:
Используется csharp
for (int i=0; i < Massiv.Length; i++)
{
    Debug.Log(Search(Massiv[i].Param, slovo));
}
 
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Запись результата цикла в массив

Сообщение Mmbopa 22 май 2019, 22:35

1max1 писал(а):
Синтаксис:
Используется csharp
static int[] Search(Array array, object value)
    {
        Array.Sort(array);

        int i = Array.IndexOf(array, value);

        if (i >= 0)
        {
            int j = Array.LastIndexOf(array, value);

            if (j > 0 && i != j)
            {
                int[] r = new int[j - i + 1];

                for (int q = 0; q < r.Length; ++q)
                {
                    r[q] = q + i;
                }

                return r;
            }
            else
                return new int[] { i };
        }

        return null;
    }

Синтаксис:
Используется csharp
for (int i=0; i < Massiv.Length; i++)
{
    Debug.Log(Search(Massiv[i].Param, slovo));
}
 

Спасибо! Попробую разобратся. Пока долго получается. Если не получится можно еще вопросы напишу?
Mmbopa
UNец
 
Сообщения: 15
Зарегистрирован: 19 май 2019, 15:56

Re: Запись результата цикла в массив

Сообщение Mmbopa 23 май 2019, 18:18

Mmbopa писал(а):
1max1 писал(а):
Синтаксис:
Используется csharp
static int[] Search(Array array, object value)
    {
        Array.Sort(array);

        int i = Array.IndexOf(array, value);

        if (i >= 0)
        {
            int j = Array.LastIndexOf(array, value);

            if (j > 0 && i != j)
            {
                int[] r = new int[j - i + 1];

                for (int q = 0; q < r.Length; ++q)
                {
                    r[q] = q + i;
                }

                return r;
            }
            else
                return new int[] { i };
        }

        return null;
    }

Синтаксис:
Используется csharp
for (int i=0; i < Massiv.Length; i++)
{
    Debug.Log(Search(Massiv[i].Param, slovo));
}
 

Спасибо! Попробую разобратся. Пока долго получается. Если не получится можно еще вопросы напишу?


Реализовал по другому

Синтаксис:
Используется csharp

public List<int> rezult = new List<int>();//new code

for(int i=0;i<Massiv.Length;i++){

Array.Sort(Massiv[i].Param);
int s=Array.BinarySearch(Massiv[i].Param, slovo);
if(s>=0){
   
rezult.Add(s);//new code
   
    }
}
Mmbopa
UNец
 
Сообщения: 15
Зарегистрирован: 19 май 2019, 15:56

Re: Запись результата цикла в массив

Сообщение 1max1 23 май 2019, 18:29

Реализовал по другому

То есть у тебя в массиве param все элементы уникальные? Сразу бы так и сказал.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 25


cron