Помогите с кодом. Идея кода: сделать арифметическую прогрессию. Есть первое число, есть конечное число, есть шаг прогрессии. Моя проблема сейчас в том, чтобы написать такую штучку, которая будет проверять, что если сделать от исходного числа несколько шагов, то получится конечное число, и выводить дальше результат, а если не получится число - выдать ошибку.
Напомню, шаг может быть и отрицательным.
Язык, разумеется, С++. Вот код:
Code
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a, b, c, i, n, answer = a;
cin >> a >> b >> c;
if (a < b)
{
for (n = a; n <= b; n = n + c)
{
}
if (n == b)
{
for (i = a; i <= b; i = i + c)
{
answer = answer + i;
}
cout << answer << endl;
}
else if (n != b)
{
cout << "This progression can not exist, because some have a number of steps from the first day we did not, the last number can not be obtained." << endl;
}
}
return 0;
}
Переменная а - это первое число, переменная b - последнее число, переменная с - последнее число.
Смотрим: сначала смотрим что значение а меньше, чем значение b (противоположную программу напишу позже). Далее цикл, который проверяет, действительно-ли если к значению n, которое равно а прибавлять значение шага, то есть с, то получится b.
Если значение n == b, то дальше просто выводим ответ, если n != b, то выводим ошибку.
Проблема в том, что мне компилятор всегда выводит ошибку, даже когда проверка верна.
Помогите пожалуйста.