Почему массив не видит число?
Вся проблема в том, что в терминале выводит огромные числа - 633345927 HP, -32757 HP которых не должно быть
#include <iostream>
#include <windows.h>
class Soldier
{
public:
int healthPoints, attack;
void getValues(int number)
{
srand(time(NULL));
healthPoints = rand() % 5 + 1;
attack = rand() % 5 + 1;
std::cout << number << ". " << "HP: " << healthPoints << ";";
std::cout << " ATK: " << attack << " ";
}
};
int main()
{
const int SIZE = 4;
int firstArmy[SIZE];
int secondArmy[SIZE];
std::cout << "FIRST ARMY ";
std::cout << "SECOND ARMY" << std::endl;
for (int i = 1; i < 5; i++)
{
Soldier firstArmy[i];
firstArmy[i].getValues(i);
Sleep(1000);
Soldier secondArmy[i];
secondArmy[i].getValues(i);
Sleep(1000);
std::cout << "" << std::endl;
}
for (int i = 1; i < 5; i++){
Soldier firstArmy[i];
Soldier secondArmy[i];
secondArmy[i].healthPoints -= firstArmy[i].attack;
firstArmy[i].healthPoints -= secondArmy[i].attack;
// std::cout << i <<". " << firstArmy[i].healthPoints << "-" << secondArmy[i].attack << " = ";
std::cout << secondArmy[i].healthPoints << " HP" << std::endl;
std::cout << firstArmy[i].healthPoints << " HP" << std::endl;
}
return 0;
}