Помогите написать программу - Компьютерные вопросы

Вопрос Помогите написать программу

Регистрация
1 Мар 2013
Сообщения
84
Репутация
0
Спасибо
1
Монет
0
Даны действительные числа x, y. вывести в порядке возрастания все целые числа расположенные между x и y. а также количество этих чисел
 
Регистрация
31 Дек 2013
Сообщения
90
Репутация
-3
Спасибо
0
Монет
0
Все настолько элементарно, тн непонятно, что здесь может быть непонятно. Показывай, что ты там наваял, что не получилось, какие ошибки...
 
Регистрация
3 Окт 2013
Сообщения
85
Репутация
-3
Спасибо
0
Монет
0
#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");
}
 
Регистрация
6 Июн 2013
Сообщения
101
Репутация
0
Спасибо
1
Монет
0
ПОМОЩЬ! Примерное направление:
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;
 
Регистрация
27 Окт 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
Тут можно вывод сделать поаккуратнее. Например, так:
#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 под вывод на экран задаются не более чем пятьдесят две позиции.
288686996_aa629b7e0c1454428da01b07f0264eac_800.jpg

 
Сверху Снизу