Код работает некорректно С++

Код работает некорректно С++
Пыталась решить задачу: в загоне сидят фазаны и кролики. Всего 31 голова и 98 ног. Сколько фазанов и сколько кроликов?
Код работает некорректно (все элементы инициализированы 2)
#include
#include
#include

using namespace std;

int main()
{
setlocale(LC_CTYPE,"Russian");
int legs = 0;
int heads[30];
for(int a=0; a< =30; a++) // заполняем загон кроликами
{
heads[a]= 4;
}
for(int b=0; b< =30; b++) // вычисляем сумму ног
{
legs+=heads;
}
int f = 0;
while(legs > 98) // если в загоне больше 98 ног, то заменяем кроликов фазанами
{
heads[f] = 2;
f++;
}
for(int c = 0; c< =30; c++) // выводим результат
{
cout < < heads[c] << "n";
}
_getch();
return 0;
}
В чем ошибка и как её исправить? Помогите пожалуйста!

  • 1. Уточняй метод, которым решаешь. Я бы просто уравнения решал, а у тебя там, смотрю, циклы и массивы (?).
    2. Код на pastebin.com, пожалуйста. Ответы жуют код.
    3. Напиши нормально, что значит "Код работает некорректно". Может, он как раз корректно работает. Это твоя обязанность - сообщить, что тебя не устраивает в коде, в чем ошибка. А мы подскажим, как ее исправить.
  • Я бы решал по-другому)
  • ну ты наворотила!! ! Тут решается одним циклом

    int pheasants = 31;
    int rabbits = 0;

    for(;;)
    {
    if((pheasants * 2 + rabbits * 4) < 98)
    {
    pheasants--;
    rabbits++;
    } else break;
    }

    cout < < 'Pheasants: ' << pheasants << ', Rabbits: ' << rabbits;