Hola, he probado el caso que dices 4 y 2 y me funciona me da ( 2 ), prueba castear las divisiones a (float) ya que cuando usas / para dividir es division de parte entera.
saludos
cronos
Código:
#include <iostream>
#include <cstdlib>
using namespace std;
float area(int a,int ng){
float apg;
apg = (float)a/ (float)ng;
return (float)apg;
}
int main() {
int a,g;
cout<<"digite el area en m^2\t";
cin>>a;
cout<<"digite el numero de gallinas";
cin>>g;
cout<<"el area que le corresponde a cada gallina es\t"<<area(a,g);
system("pause");
}