, чтобы сделать это, вам нужно сохранить состояние проверки в первый раз, когда условие z> 0, в зависимости от контекста, в котором вы можете сделать это, используя переменную stati c, вот решение (где я предполагаю, что оба t и z - переменные целочисленного типа):
using namespace std;
static bool zBecameTrue = false;
int returnTwhenZBecameTrue(int z, int t)
{
if(z > 0 && !zBecameTrue)
{
zBecameTrue = true;
return t;
}
else
{
return 0;
}
}
int main()
{
int z = -1;
int t = 10;
cout<<returnTwhenZBecameTrue(z,t)<<endl;
z++;
cout<<returnTwhenZBecameTrue(z,t)<<endl;
z++;
cout<<returnTwhenZBecameTrue(z,t)<<endl;
z++;
cout<<returnTwhenZBecameTrue(z,t)<<endl;
z++;
cout<<returnTwhenZBecameTrue(z,t)<<endl;
return 0;
}
вывод:
0
0
10
0
0