если ввести а 1000 и более это же тоже до 500? как сделать так тогда ?
float x;
int s;
int sum = 0;
cout << "\t Введите число:: ";
cin >> x;
s = x;
if (x != s || x > 500)
{
cout << "Некорректный ввод. \n";
}
cout << "\n\tСумма чисел от " << s << " до 500 = ";
while (s <= 500)
{
sum += s;
s++;
}
cout << sum << "\n\n"; }
Другие языки программирования и технологии
Проверте программу, которая вычисляет сумму целых чисел от а до 500 (значение a вводится с клавиатуры). c++
#include <iostream>
using namespace std;
int main() {
const auto n = 500;
while (true) {
cout << "a: ";
int a;
cin >> a;
auto sum = 0;
if (a == n) sum = a;
else {
auto sn = n * (n + 1) / 2;
auto sa = a * (a + 1) / 2;
auto tmp = abs(sn - sa);
// 1 вариант. 500 не входит в заданный диапазон
sum = a < n? tmp + a - n : tmp;
// 2 вариант. 500 входит в заданный диапазон
//sum = a < n? tmp + a : tmp + n;
}
cout << "sum: " << sum << "\n\n";
}
}
using namespace std;
int main() {
const auto n = 500;
while (true) {
cout << "a: ";
int a;
cin >> a;
auto sum = 0;
if (a == n) sum = a;
else {
auto sn = n * (n + 1) / 2;
auto sa = a * (a + 1) / 2;
auto tmp = abs(sn - sa);
// 1 вариант. 500 не входит в заданный диапазон
sum = a < n? tmp + a - n : tmp;
// 2 вариант. 500 входит в заданный диапазон
//sum = a < n? tmp + a : tmp + n;
}
cout << "sum: " << sum << "\n\n";
}
}
1. У тебя в условии задачи ЦЕЛЫЕ числа. Так какого хрена ты вводишь ВЕЩЕСТВЕННОЕ x?
2. Школьный учебник математики, сумма арифметической прогрессии.
Вся программа - безо всяких циклов и независимо от того, меньше, больше или равно 500:
int a;
cin >> a;
cout << (a + 500) * (abs(500 - a) + 1) / 2;
2. Школьный учебник математики, сумма арифметической прогрессии.
Вся программа - безо всяких циклов и независимо от того, меньше, больше или равно 500:
int a;
cin >> a;
cout << (a + 500) * (abs(500 - a) + 1) / 2;
у тебя не будет работать программа
если введет пользователь 1000 и более
ошибки логике твоей программы
программа будет остановлена
if (x != s || x > 500) -- в этой строке
while (s <= 500) // здесь тоже
или используй массив для ввода и хранения
если введет пользователь 1000 и более
ошибки логике твоей программы
программа будет остановлена
if (x != s || x > 500) -- в этой строке
while (s <= 500) // здесь тоже
или используй массив для ввода и хранения
Похожие вопросы
- Помогите! Информатика. Вводится пять чисел. Написать программу, которая вычисляет сумму всех четных из них.
- 1. Написать программу, которая заполняет массив целых чисел размеров 20 элементов значениями роста учащихся (случайные ч
- НОК 2-ух чисел - C++ Помогите, люди добрые. Как написать прогу на C++, которая вычисляет НОК двух чисел
- написать программу на С++, которая вычисляет колличество положительных чисел в массиве?
- <<ПОМОГИТЕ! НАПИСАТЬ ПРОГРАММУ НА СИ ИЛИ ПАСКАЛЕ КОТОРАЯ ВЫВОДИТЬ СУММУ ЦИФР ЧИСЛА ОТ 1 ДО N
- Программа, которая находит разность двух чисел (IEEE 754 стандарт double) ассемблер.
- Как написать программу, которая будет представлять вещественное число в памяти компьютера
- Написать программу, которая формирует два массива чисел
- простая программа с++ для сложения целых чисел! но не работает ( где ошибка?
- Составить программу С++ В массиве целых чисел с количеством элементов n найти наиболее часто встречающееся число
cout << "\n\n\t4. Задание. Найти произведение всех целых чисел\n\n"
<< "\tот a до 20 (значение a вводится с клавиатуры: 1 <=a <= 20).\n" << endl;
float u;
float r = 1;
cout << "Введите число: ";
cin >> u;
if (u < 1 || u > 20 || u != (int)u)
{
cout << "Некорректный ввод\n";
}
cout << "Произведение всех целых чисел от " << u << " до 20 = ";
while (u <= 20)
{
r = r * u;
u++;
}
cout << r << "\n";