Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2013, 23:33   #1
Lachdanan
Новичок
Джуниор
 
Регистрация: 16.10.2013
Сообщений: 2
По умолчанию Помогите пожалуйста с задачей на С

Сразу предупрежу когда то давно учил делфи и как я понимаю лист это аналог записей. Может ошибаюсь.

Строчка которая выделена красной она неверная так как как я понимаю к листу нельзя обращаться к конкретной записи.

Помогите дописать этот код так чтобы данную логическую проверку можно было реализовать.

Как я понимаю можно ввести некий массив в который параллельно с листом писать данные и уже в проверку сравнивать элементы массива по принципу как я написал, но у меня не хватило знаний как это реализовать на С. Возможно это реализуется как то по другому, но я не знаю как.

Буду благодарен за любую помощь.



Код:
class ForgeCommand : ICommand
       {
           public string Command { get { return "u"; } }
           public int RequiredRank { get { return 1; } }

           public void Execute(Player player, string[] args)
           {
               try
               {
                   player.Decision = 0;
                   player.combs = new Combinations();
                   List<int> slotList = new List<int>();
                   List<int> slotList2 = new List<int>();
                   List<string> nameList = new List<string>();
                   string[] nameArray;
                   for (var i = 0; i < args.Length; i++)
                       slotList.Add(Convert.ToInt32(args[i]));
                   if (slotList.Count < 2)
                       throw new Exception();
                   foreach (var i in slotList)
                       if (!(i < 0) && !(i > 8))
                       {
                           int realslot = i + 3;
                           if (player.Inventory[realslot] != null)
                           {
                               slotList2.Add(realslot);
                               nameList.Add(player.Inventory[realslot].ObjectId);
                           }
                           else
                           {
                               throw new Exception();
                           }
                       }
                   player.combs.SlotList = slotList2;
                   nameArray = nameList.ToArray();
                   player.SendInfo("Hmmm" + (player.HasSlot(3) && player.Inventory[3].ObjectId == "Forge Amulet" ? "advanced " : "") + "...");
                   if (!player.combs.SetComboAdv(nameArray, (player.HasSlot(3) && player.Inventory[3].ObjectId == "Forge Amulet")))
                   {
                       player.SendInfo("Cant use this!");
                   }
                   else
                   {
//			   if (slotList[1] == slotList[2])
//			    {

//			       player.SendInfo("Cant use this!");

//			    }
//			    else
			    {
          	               player.SendInfo("It costs " + (player.combs.Combo.Item2 / (player.HasSlot(3) && player.Inventory[3].ObjectType == 0x193e ? 2 : 1)).ToString() + " fame. Are you sure?\nType /y for yes or /n for no");
         	               player.Decision = 1;
//			    }



                   }
               }
               catch
               {
                   player.SendHelp("Usage: /u <slot #1> <slot #2> etc.");
               }
           }
       }


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.


Спасибо, на будущее буду внимательнее.

Последний раз редактировалось Lachdanan; 16.10.2013 в 23:42.
Lachdanan вне форума Ответить с цитированием
Старый 19.10.2013, 01:31   #2
Lachdanan
Новичок
Джуниор
 
Регистрация: 16.10.2013
Сообщений: 2
По умолчанию

Задачу решил сам всем спасибо до свидания.
Lachdanan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите Пожалуйста с Задачей!!!! Sasuke-sama Помощь студентам 29 22.05.2009 18:25
Пожалуйста, помогите с задачей по C++ Maksimym Помощь студентам 2 10.01.2008 23:18
помогите пожалуйста с задачей! Coolmanz Помощь студентам 2 06.01.2008 23:07
Помогите пожалуйста с задачей по С++ Riddick2013 Помощь студентам 2 11.11.2007 16:54