вопрос про павн в общем (двумерные массивы)

Сообщения
30
Реакции
0
как мне в двумерном массиве получить индекс первой "скобки"?

есть массив стрингов (no horny), например:

C++:
new strings[3][7] = {"blabla1", "blabla2", "blabla3"};
как я могу получить индекс строки "blabla2", например?
25 Авг 2023
пробовал шо-то подобное:

C++:
new text1[7] = "blabla2";
new n;

n = strings[][text1];
но это так не работает :Р
 
Сообщения
30
Реакции
0
murlemur, я ищу индекс первых "скобок" по вторым)
 
Последнее редактирование:

ArKaNeMaN

Квалифицированный специалист по VipModular
Сообщения
433
Реакции
293
Помог
5 раз(а)
murlemur, я ищу индекс первых "скобок" по вторым)
Это немного не так называется, но вроде понял что тебе нужно...

Это называется поиск элемента в массиве.
Такой массив как у тебя можно воспринимать как одномерный массив строк.

Для поиска элемента в массиве надо обходить массив от начала до конца и искать совпадение. После нахождения совпадения можно прервать цикл, если нужен всего один элемент.
 
Сообщения
30
Реакции
0
конечно, можно сделать через функцию, используя цикл for и возвращать индекс, но интересно, можно ли без функции? :)
25 Авг 2023
ArKaNeMaN, а возможно ли без функций?
 

ArKaNeMaN

Квалифицированный специалист по VipModular
Сообщения
433
Реакции
293
Помог
5 раз(а)
конечно, можно сделать через функцию, используя цикл for и возвращать индекс, но интересно, можно ли без функции? :)
Насколько помню - нельзя.

Можно узнать конкретную задачу, где оно нужно? Возможно там можно в целом другое решение использовать
 
Сообщения
30
Реакции
0
ArKaNeMaN, в очередной голосовалке, для хранения 10 последних мап

ну раз нельзя, через цикл, судя по всему, единственый вариант :)
25 Авг 2023
drejblour, должнобыло ещё в 11:30+ ответить, но оно не отправилось ,___,
25 Авг 2023
drejblour, короче, попробовал два варианта:

номер 1:
C++:
stock recent_maps_first_index(str[])
{
   new r;
    
   for (r =0; r <= charsmax(str); r++)
{
{
25 Авг 2023
попробовал два варианта:

номер 1:
C++:
stock recent_maps_first_index(str[])
{
   new r;
   
   for (r =0; r <= charsmax(str); r++)
   {
        if (equali(str, recent_maps[r]))
           break;
   }
   
   return r;
}
{

номер 2:
C++:
stock recent_maps_first_index(str[])
{
   new r;
   
  while (str[r] != '^0')
  {
      if (equali(str, recent_maps[r]))
          break;

     r++;
   }
     return r;
}
{
работает только второй :)
25 Авг 2023
почему я не могу редактировать это своё сообщение, шо с ним вообще произошло xD
 
Сообщения
225
Реакции
90
Помог
1 раз(а)
Сообщения
201
Реакции
20
Помог
5 раз(а)
Вы пробовали использовать «enum» ты их идентифицируешь
 
Сообщения
330
Реакции
93
Помог
2 раз(а)
drejblour, в stock размер массива надо передавать, а не пытаться получить в нём. Лучше бы использовал динамический массив
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу