Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
макс 1376
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 49
1

помоггите прокомментироватьь и разобратьсяя в коде

21.01.2013, 12:43. Просмотров 289. Ответов 4
Метки нет (Все метки)


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <iostream>
#include <string>
#include <cstdlib>
#include <conio.h>
 
using namespace std;
class Monstr        
{ 
private:
    string name;
int health;
int mindamage, maxdamage;
int speed; 
public: 
        
   void show()
  {
  cout<<" name : "<<name<<endl;
  cout<<" health: "<<health<<endl;
  cout<<" damage : "<<mindamage<<" - "<<maxdamage<<endl;
  cout<<" speed : "<<speed<<endl<<endl;
  }
    Monstr()                    
{   
name = "";
health = 0; 
mindamage = 0;
maxdamage = 0;
 
} 
Monstr(string n, int he, int mind, int maxd,int sp)     
{
name = n; 
health = he; 
mindamage = mind;
maxdamage = maxd;
speed = sp;
}
bool vuig()
{
     if(health>0) return true; 
     else return false;
}
void battle(Monstr *d)
{
     while(1)
     {
 health-=(d->mindamage+rand()%(d->maxdamage-d->mindamage+1))*((100+d->speed)/100.0); 
 d->health-=(mindamage+rand()%(maxdamage-mindamage+1))*((100+speed)/100.0);
 if (health<=0&&d->health>0)
  {
   cout<<"      POBEDITEl "<<endl;
   d->show();
   break;
  }
  else  if(d->health<=0&&health>0)
  {
  cout<<"      POBEDITEl "<<endl;
  show();   
  break;
  }
  else if(health<0&&d->health<0)
  {
  cout<<"OBA PROIGRALI "<<endl;
  break;
  }
 }
}
 
};
int main()
{
    int kh,km,n,h,m;
    h=0;
    m=0;
    Monstr** human;
    Monstr** ork;
    cout<<"VVedite razmer bandi : "; cin>>n;
    human=new Monstr* [n];
    ork=new Monstr* [n];
    for(int i=0;i<n;i++)
    human[i]=new Monstr("Chel",400,20,30,90);
    for(int i=0;i<n;i++)
    ork[i]=new Monstr("Ork",400,20,30,90); 
    km=n-1;
    for(int i=0;i<n;i++)
         {
             if(km>=0)while(human[i]->vuig()==true)
              {
                   human[i]->battle(ork[km]);                        
                   if((human[i]->vuig()==true)||(ork[km]->vuig()==false))
                   {
                   km--;
                   h++;
                   if(km<0)break;
                   }
                   if((human[i]->vuig()==false)||(ork[km+1]->vuig()==true))
                   {
                   m++;
                   break;            
                    
                   }            
              }
         
         }
    if (h>m) cout<<"humans komand vin with count"<<h<<":"<<m;
    if (h<m) cout<<"orks komand vin with count"<<m<<":"<<h;  
    if (h==m) cout<<"nichua"<<m<<":"<<h;  
  getch();       
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2013, 12:43
Ответы с готовыми решениями:

Представить число в двоичном коде и в коде Грея
Всем доброго вечера) у меня такая просьба, помогите написать программу по коду Грея, чтобы...

Помоггите оценить ноут
Доброго времени суток Ув. Форумчане. Мне нужен дешевый ноутбук для танков на будущие 2года как...

Не могу найти в коде бесконечный цикл (Если таковой в коде имеется.)
/** * Created by Drath on 04.08.14. */ var mygram = { words: , unfixed: {}, ...

Найдите ошибку в коде и укажите потенциальные проблемы, которые содержатся в коде
Дорогие программисты помогите с решением задачи по C#, не успеваю :( Найдите ошибку в коде и...

Ошибка в коде взаимодействия клиента и сервера на основе протокола TCP/IP (ошибка в коде)
Задание: Осуществить взаимодействие клиента и сервера на основе протокола TCP/IP. Реализовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Юля_программист
484 / 142 / 44
Регистрация: 04.05.2012
Сообщений: 677
Записей в блоге: 1
21.01.2013, 14:28 2
Врятли кто будет комментить весь код, Вы покажите что именно не понятно)
Так вам быстрее помогут)
1
макс 1376
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 49
21.01.2013, 14:49  [ТС] 3
Цитата Сообщение от Юля_программист Посмотреть сообщение
Врятли кто будет комментить весь код, Вы покажите что именно не понятно)
Так вам быстрее помогут)
вот этот блок вообще не понятен((
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
int main()
{
    int kh,km,n,h,m;
    h=0;
    m=0;
    Monstr** human;
    Monstr** ork;
    cout<<"VVedite razmer bandi : "; cin>>n;
    human=new Monstr* [n];
    ork=new Monstr* [n];
    for(int i=0;i<n;i++)
    human[i]=new Monstr("Chel",400,20,30,90);
    for(int i=0;i<n;i++)
    ork[i]=new Monstr("Ork",400,20,30,90); 
    km=n-1;
    for(int i=0;i<n;i++)
         {
             if(km>=0)while(human[i]->vuig()==true)
              {
                   human[i]->battle(ork[km]);                        
                   if((human[i]->vuig()==true)||(ork[km]->vuig()==false))
                   {
                   km--;
                   h++;
                   if(km<0)break;
                   }
                   if((human[i]->vuig()==false)||(ork[km+1]->vuig()==true))
                   {
                   m++;
                   break;            
                    
                   }            
              }
         
         }
    if (h>m) cout<<"humans komand vin with count"<<h<<":"<<m;
    if (h<m) cout<<"orks komand vin with count"<<m<<":"<<h;  
    if (h==m) cout<<"nichua"<<m<<":"<<h;  
  getch();       
}
0
Юля_программист
484 / 142 / 44
Регистрация: 04.05.2012
Сообщений: 677
Записей в блоге: 1
21.01.2013, 15:38 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
int main()//начало главной функции
{
int kh,km,n,h,m;//целочисленные переменные
h=0;
m=0;
Monstr** human;
Monstr** ork;// создание объектов через указатели
cout<<"VVedite razmer bandi : "; cin>>n;//ввод
human=new Monstr* [n];//выделение памяти под объекты
ork=new Monstr* [n];
for(int i=0;i<n;i++)//цикл ходим пока i<n
human[i]=new Monstr("Chel",400,20,30,90);//выделение памяти и создание объекта
for(int i=0;i<n;i++)//цикл ходим пока i<n
ork[i]=new Monstr("Ork",400,20,30,90); //выделение памяти и создание объекта
km=n-1;
for(int i=0;i<n;i++)
{
if(km>=0)
while(human[i]->vuig()==true)//цикл пока то что в скобках истина
{
human[i]->battle(ork[km]); //вызов свойства объекта
if((human[i]->vuig()==true)||(ork[km]->vuig()==false))
{
km--;//дикремент
h++;//инкремент
if(km<0)break;//если km меньше ноля выходим из цикла
}
if((human[i]->vuig()==false)||(ork[km+1]->vuig()==true))//две палочки это логическое или,т.е. или то, или другое
{
m++;
break; 
 
} 
}
 
}
//а это вывод
if (h>m) cout<<"humans komand vin with count"<<h<<":"<<m;
if (h<m) cout<<"orks komand vin with count"<<m<<":"<<h; 
if (h==m) cout<<"nichua"<<m<<":"<<h; 
getch(); 
}
Добавлено через 1 минуту
А вообще берите книжку и читайте про операторы.

Не по теме:

И пользуйтесь тегами для кода)

1
макс 1376
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 49
21.01.2013, 15:46  [ТС] 5
спасибо большое)
0
21.01.2013, 15:46
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru