Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Помощь с массивом и символом +=
Vitaminoz Дата: Вторник, 26.06.2012, 08:16:08 | Сообщение # 1
Сообщений: 141
Репутация: 1 [ +/- ]
Читая wiki появилось пару вопросов.
Никак не могу понять как работает вот такой символ += к пример
new a = 5;
a += 5;
Есть код
new array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
new sum = SumArray(array, 10);
Создаётся новая переменная sum С именем для функции SumArray
А вот я не могу понять что за парметры внутри функци
array - это ссылка для созданного массива в переменной ?
10 - индекс массива ?
Не могу понять


Сообщение отредактировал Vitaminoz - Вторник, 26.06.2012, 08:18:11
 
_wS_ Дата: Вторник, 26.06.2012, 12:36:43 | Сообщение # 2
a += 5 это то же самое, что и a = a + 5, т.е. к a добавляется 5.

Quote (Vitaminoz)
Создаётся новая переменная sum С именем для функции SumArray

Создается переменная sum с значением, которое возвращает функция SumArray

Code
#include <sourcemod>

public OnPluginStart()
{
     new x[3] = {1, 3, 5};

     new sum = SumArray(x, 3);
     PrintToServer("sum = %d", sum);

     // или можно сразу PrintToServer("sum = %d", SumArray(x, 3));
}

SumArray(const x[], max)
{
     new xz = 0;
     for (new i = 0; i < max; i++)
     {
         xz += x[i];
         PrintToServer("%d", x[i]);
     }
     return xz;
}

const x[] внутри функции - массив, который мы создали и передали в функцию как параметр (аргумент). const значит, что мы не будем менять массив. max - кол-во элементов в массиве.

P.S. Хватит столько тем создавать, зачем этот спам, у тебя уже есть несколько тем, например, эта - смысл темы один, а их у тебя много.
 
Vitaminoz Дата: Вторник, 26.06.2012, 12:45:22 | Сообщение # 3
Сообщений: 141
Репутация: 1 [ +/- ]
Вопрос про const ->
А разве можно изменять массив внутри функции ?
Вопрос про переменную xz ->
Зачем писать = 0 если так new xz; 1 и то же ?
 
_wS_ Дата: Вторник, 26.06.2012, 12:58:08 | Сообщение # 4
Quote (Vitaminoz)
Вопрос про const -> А разве можно изменять массив внутри функции ?

Что тебе мешает проверить? Я же говорил, тестируй, выводи результат в консоль сервера и смотри.

Code
public OnPluginStart()
{
     new x[3] = {1, 3, 5};
     PrintToServer("-> %d", x[0]); // 1
     xz(x);
     PrintToServer("-> %d", x[0]); // 7
}

xz (x[]) x[0] = 7;

Quote (Vitaminoz)
Зачем писать = 0 если так new xz; 1 и то же ?

Да, одно и то же, дело вкуса, хочешь пиши = 0, а хочешь нет.
 
Vitaminoz Дата: Вторник, 26.06.2012, 20:24:38 | Сообщение # 5
Сообщений: 141
Репутация: 1 [ +/- ]
Ок спасибо щас буду делать

Добавлено (26.06.2012, 20:24:38)
---------------------------------------------
Вот ёще вопрос, на wiki есть такой код

Code
(5 * 6) % 7;             //Modulo operator, вычисляет как 2

Как по действиям они получили 2 ?
 
_wS_ Дата: Вторник, 26.06.2012, 20:50:31 | Сообщение # 6
Ну как как, математика обычная. 30 % 7 = 2.
Не стоит этим голову забивать, очень редко используется, я и сам не дружу с этими процентами.
 
Vitaminoz Дата: Вторник, 26.06.2012, 21:04:11 | Сообщение # 7
Сообщений: 141
Репутация: 1 [ +/- ]
Всем ёще раз привет решил что-то замутить такое друг дал имею сделать баланс 3 -кт l 1 - т
Вот код
Code
#include <sourcemod>
#include <cstrike>

new array[];

public Plugin:myinfo =  
{
  name = "Test",
  author = "Vitamin",
  description = "<- Description ->",
  version = "1.0",
  url = "<- URL ->"
}

public OnPluginStart()
{
  Circle();
}

Circle(const array[], count);
{
  decl String:teamString[];
  GetCmdArg(1, teamString, sizeof(teamString));
  new Target_Team = StringToInt(teamString);
  if(Target_Team = CS_TEAM_CT)
  {
   new total;
   for (i = 0; i < count; i++)
   {
    if(array
   }
  }
}

Я больше ничего не смог придумать ..
+ это я все из инетов находил материалы можете помочь пожалуйста
 
  • Страница 1 из 1
  • 1
Поиск: