Я новичок в C ++.
У меня проблема с функцией Yi в моем коде.
Мой цикл do while в функции Yi никогда не прерывается.
Я не знаю, в чем проблема.Я думаю, это в значении bool, но не уверен.
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222223333333333333333333333333333333333333333333333333333333344334433443344444444444444444444444444444444444444444444444
1010 * Подробнее
#include "pch.h"
#include <iostream>
#include <iomanip>
#include <limits>
#include <cmath>
using namespace std;
double Yi(double&, double&, double&, int&, int&);
double Yi(double &f, double &a, double &b, int &i, int &n) {
float amin, amax, bmin, bmax, da, db;
bool z = true;
do { cout << "input amin, amax, da" << endl;
cout << "input bmin, bmax, db" << endl;
cout << "Input n" << endl;
while (!(cin >> amin) || !(cin >> amax) || !(cin >> da) || !(cin >> bmin) || !(cin >> bmax) || !(cin >> db) || !(cin >> n)) {
cout << "You have entered wrong input. Input values again: " << endl;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
i = 1;
if ((amax > amin && da > 0) && (bmax > bmin && db > 0) && (n>=i))
{ for (a = amin; a < amax; a += da);
for (b = bmin; b < bmax; b += db);
for (i; i < n; i++);
}
float f1, f2;
if (a == 0)
{
cout << "***********************************************" << endl;
z;
}
if (a > 0)
{
f1 = (a * i + 2 * b) * (a * i + 2 * b) + pow(-1, i)*i;
f2 = sqrt(i*i + i);
f = f1 / f2;
z = false;
}
if (a < 0)
{
f1 = (a * i + 2 * b) * (a * i + 2 * b) + i;
f2 = sqrt(i*i - i + 1);
f = f1 / f2;
z = false;
}
} while (z);
return f;
}
Что я должен изменить для рабочего кода?Заранее спасибо.:)