C/C++
Помогите написать программу
Даны действительные числа x, y. вывести в порядке возрастания все целые числа расположенные между x и y. а также количество этих чисел
Мы будем за тебя болеть.
Мы с тобой. +_-
Мы с тобой. +_-
Все настолько элементарно, тн непонятно, что здесь может быть непонятно. Показывай, что ты там наваял, что не получилось, какие ошибки...
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
auto x = real("x: ");
auto y = real("y: ");
x > y? swap(x, y) : void();
auto a = static_cast<long long>(ceil(x));
if (a == x) ++a;
auto b = static_cast<long long>(trunc(y));
if (b == y) --b;
auto count = b - a + 1;
for (auto x = a; x <= b; ++x) cout << x << ' ';
cout << "\ncount: " << count << '\n';
system("pause > nul");
}
#include <cstdlib>
#include <cmath>
using namespace std;
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
auto x = real("x: ");
auto y = real("y: ");
x > y? swap(x, y) : void();
auto a = static_cast<long long>(ceil(x));
if (a == x) ++a;
auto b = static_cast<long long>(trunc(y));
if (b == y) --b;
auto count = b - a + 1;
for (auto x = a; x <= b; ++x) cout << x << ' ';
cout << "\ncount: " << count << '\n';
system("pause > nul");
}
ПОМОЩЬ! Примерное направление:
double x=1.2, y=5.4;
int a=ceil(x);
int b=floor(y);
int n=0;
for(int i=a; i<=b;i++){
n++;
cout << i << " ";
}
cout << "\nN=" << n;
double x=1.2, y=5.4;
int a=ceil(x);
int b=floor(y);
int n=0;
for(int i=a; i<=b;i++){
n++;
cout << i << " ";
}
cout << "\nN=" << n;
Тут можно вывод сделать поаккуратнее. Например, так:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std; int d(int n)
{ if (n == 0) return 2; int m = 1; if (n < 0)
{ n = abs(n); ++m; } while (n) { n /= 10; ++m; }
return m; }
int main() { double x, y; cout << "x y » ";
cin >> x >> y; int a = ceil(x), b = floor(y),
max = d(a), c = d(b), l, m = 0, n; if (c > max)
max = c; l = 52 / max; for (n = a; n <= b; n++)
{ cout << setw(max) << n; ++m; if (m == l)
{ m = 0; cout << endl; } } if (m) cout << endl;
cout << b + 1 - a << " numbers" << endl;
system("pause > nul"); return 0; }
В операторе l = 52 / max под вывод на экран задаются не более чем пятьдесят две позиции.

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std; int d(int n)
{ if (n == 0) return 2; int m = 1; if (n < 0)
{ n = abs(n); ++m; } while (n) { n /= 10; ++m; }
return m; }
int main() { double x, y; cout << "x y » ";
cin >> x >> y; int a = ceil(x), b = floor(y),
max = d(a), c = d(b), l, m = 0, n; if (c > max)
max = c; l = 52 / max; for (n = a; n <= b; n++)
{ cout << setw(max) << n; ++m; if (m == l)
{ m = 0; cout << endl; } } if (m) cout << endl;
cout << b + 1 - a << " numbers" << endl;
system("pause > nul"); return 0; }
В операторе l = 52 / max под вывод на экран задаются не более чем пятьдесят две позиции.

Похожие вопросы
- Помогите написать программу на С
- Помогите написать программу на C++
- Помогите написать программу на с++
- Помогите написать программу на с++
- Помогите написать программу
- Помогите написать программу на С++
- С++. Структуры(struct). Помогите написать программу
- Помогите написать программу на С++
- Пожалуйста, помогите написать программу на С++
- Помогите написать программу на СИ
Всё так просто…
Однако, представьте себе, как будет работать программа, если y < x