цикл должен выполняться до 8, включительно, но выполняется лишь до 6

132
27 февраля 2019, 08:40

цикл должен выполняться до 8, включительно, но выполняется лишь до 6. Суть задачи не важна, так как она сделана, важен сам процесс автоматизации

#include "pch.h"
#include "iostream"
#include "cmath"
#include "fstream"
#include "cctype"
#include "string"
float x, b, d, m, h, f, a, k, d1;
int n = 1, s = 1, d2;
char i;
using namespace std;
float func(float x)
{
    f = (1 + x) / (sqrt(x));
    return f;
}
void main()
{
    setlocale(LC_ALL, "Rus");
    while (s <= 9)
    {
        do
        {
            a = 4.0f;
            b = 9.0f;
            h = 0.0f;
            for (k = 1; k <= n - 1; k++)
            {
                m = func(a + k * ((b - a) / n));
                h += m;
            }
            d = (h + (func(a) + func(b)) / 2) * ((b - a) / n);
            d1 = d * pow(10, (s));
            d2 = (int)d1 % 10;
            for ( i = 1; i <= s; i++)
            {
                int d3 = pow(10, i);
                if ((int)d1 / (d3/10) % 10 != 6)
                {
                    d2 = 5;
                }
            }
            n++;
        } while (d2 != 6);
        cout << "количество отрезков: " << n << endl;
        cout << "Число = ";
        printf("%.100f", d);
        cout << endl;
        cout << "количество шестерок после запятой: " << s++ << endl;
        cout << endl;
    }
    cin.get();
}
Answer 1

Дело как раз в сути задачи - она при s==7 зацикливается...

Убедитесь сами, добавив, например, строку

    cout << "d2 = " << d2 << endl;
} while (d2 != 6);

Если вы поясните, что именно вы считаете ("суть задачи"), можно будет поговорить о том, как этого избежать.

READ ALSO
Директивы препроцессора #ifdef #define и #undef

Директивы препроцессора #ifdef #define и #undef

В чем здесь проблема? Почему n всегда равно либо 100 и 100, либо 200 и 200, как ни крути

161
Как получить размер матрицы и её элементы от пользователя?

Как получить размер матрицы и её элементы от пользователя?

Как мне сделать так, чтобы размер матрицы и значение её элементов я вводил сам (то есть динамически)?

145
Создание меню выбора C++

Создание меню выбора C++

вообщем нужно создать меню выбора пунктов, например:

169
Заполнить матрицу по спирали

Заполнить матрицу по спирали

Не смог найти библиотеку, которая позволяет заполнить матрицу по спирали, например так:

161