Требуется точка с запятой ";" там где по идее ее не должно быть
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
#include <iostream> using namespace std; int main() { setlocale(0, ""); int i, a, b; int sum = 0; cout << "Введите число с которого нужно начать отсчет: "; cin >> a; cout << "Введите число которым нужно закончить отсчет: "; cin >> b; if (a < b) { for (i = a; i <= b; i = i + 1) sum = sum + i; } else if (a > b) { for (i = b; i <= a; i = i + 1) sum = sum + i; } else (a == b) { sum = a; } cout << "Сумма чисел от " << a << " до " << b << " = " << sum << endl; system("pause"); return 0; }
Пытаюсь сделать калькулятор суммы чисел от a до b. Чтобы человек мог сам выбрать число и оно посчитало сумму. С этим я справился, но решил что этого мало, потому что можно считать сумму только если a < b. А если охота посчитать от 1000 до 1 (где a > b)? Или вообще извратится и посчитать от 10 до 10 (где a = b)? Понимаю что практическое применение такое себе, но если чисто теоретически предположить что нам нужно именно так.
Появилась проблема:
В отрывке
else (a == b) { sum = a; }
в первой фигурной скобке «{», пишет — «требуется точка с запятой» хотя по идее, там она ни к чему. Как исправить ситуацию? Может я конечно туп, и если это так — подтвердите это и скажите в чем я туплю :D
else if (a == b)
То достаточно обменять значение
a
иb
.То вообще делать ничего не надо.
Итого:
//... cin >> b; if (b < a) swap(a, b);//Или по-другому обменять значения местами for (i = a; i <= b; ++i) sum += i; cout << "Сумма чисел от " << a << " до " << b << " = " << sum << endl;
А есть еще способ вычисления без циклов. ;)
Дружище, спасибо!)
А не знаешь почему обычное else он не воспринимает? Потому что в уроке — https://code-live.ru/post/cpp-if-else/ — последний пишется как просто elso
Там просто
else
, а у тебя не простоelse
, аelse (a == b)
, отсюда и ошибка синтаксиса. Либо добавьif
, либо убери(a == b)
.Понял, спасибо) Доступно объяснил)