Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/35: Рейтинг темы: голосов - 35, средняя оценка - 4.60
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
1

Дано действитёльное число х. Получить целую часть *) числа х; затем — число х, округленное до ближайшего целого; затем — число х без дробных цифр.

11.05.2012, 22:25. Показов 6734. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте помогите написать программу.
Дано действитёльное число х. Получить целую часть *) числа х; затем — число х, округленное до ближайшего целого; затем — число х без дробных цифр.
Целой частью числа х, обозначаемой [х], называется наибольшее целое, не превосходящее х; так, [3.14] = 3, [3] = 3, [- 3.14] = 4, [- 3] = 3
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2012, 22:25
Ответы с готовыми решениями:

Дано действительное число х. Получить целую часть х, затем х, округленное до ближайшего целого, затем х без дробных цифр
Здравствуйте помогите написать программу. Дано действитёльное число х. Получить целую часть *)...

Получить целую часть действительного числа, затем число, округлённое до ближайшего целого
Дано действительное число х. Получить целую часть х; затем число х, округлённое до ближайшего...

Запросите действительное число и найдите целую часть числа и округлите его до ближайшего целого
Помогите плиз) я новечек, только недавно начал учить Паскаль. задача:Запросите действительное...

Дано действительное положительное число x, меньше 5. Напишите программу, позволяющую округлить это число до ближайшего целого числа
Дано действительное положительное число x, меньше 5. Напишите программу, позволяющую округлить это...

16
magirus
11.05.2012, 22:32
  #2
 Комментарий администратора 
MerlinLegend, в названиях тем кратко формулируйте условие задачи.
0
15 / 15 / 1
Регистрация: 05.04.2012
Сообщений: 32
11.05.2012, 23:05 3
Немного не понял "Целой частью числа х, обозначаемой [х], называется наибольшее целое, не превосходящее х; так, [3.14] = 3, [3] = 3, [- 3.14] = 4, [- 3] = 3 "

"называется наибольшее целое, не превосходящее х;" почему 4?

как то так, может и ошибся

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream> 
 
using namespace std;
 
int main()
{
    double x;
    cin >> x;
 
    cout << fabs(ceil(x - 0.5)) << endl; // целая часть
 
    if(x >= 0)cout << floor(x + 0.5) << endl; // округление до ближайшего целого в меньшую сторону
    if(x < 0) cout << ceil(x - 0.5) << endl; // округление до ближайшего целого в большую сторону
 
    int celoe_chislo = (int)x;
    cout << celoe_chislo << endl; // без дробной части
 
 
    system("PAUSE");
    return 0;
}
1
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
11.05.2012, 23:43  [ТС] 4
типа, -3.14 т.к. это не целая, то округляется то минимального целого, тоесть 4. Думаю так

Добавлено через 2 минуты
Спасибо за помощь. Когда я ввожу число 5.5 (в вашей программе), то у меня результат такой 5, 6, 5. Почему так?
0
15 / 15 / 1
Регистрация: 05.04.2012
Сообщений: 32
12.05.2012, 17:34 5
Вы знаете, я немного ошибся, не понял задания. Вот последняя исправленная версия.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream> 
 
using namespace std;
 
int main()
{
    double x;
    cin >> x;
 
    // получим целую часть числа х
    if(x >= 0)cout << floor(x) << endl; 
    if(x < 0) cout << ceil(fabs(x)) << endl; 
 
    //число х, округленное до ближайшего целого
    if(x >= 0)cout << floor(x) << endl; 
    if(x < 0) cout << ceil(x) << endl; 
 
 
    int celoe_chislo = (int)x;
    cout << celoe_chislo << endl; // без дробной части
 
 
    system("PAUSE");
    return 0;
}
как раз проверьте на -3.14. выдаст 4, -3, -3
1
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
12.05.2012, 20:14  [ТС] 6
Я здесь должен одно число вводить?
0
15 / 15 / 1
Регистрация: 05.04.2012
Сообщений: 32
12.05.2012, 20:18 7
Да, конечно.
C++
1
cin >> x;
Как раз предполагает что идет считывание из стандартного потока.
Запустите программу, и введите вещественное число
1
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
12.05.2012, 20:31  [ТС] 8
А мне надо чтобы числа положительные получились?
0
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
14.05.2012, 11:21  [ТС] 9
Помогите сделать по модулю
0
15 / 15 / 1
Регистрация: 05.04.2012
Сообщений: 32
14.05.2012, 15:18 10
Всмысле? то же задание только по модулю везде? Или это ещё один из пунктов задания? Подробно опишите.
1
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
14.05.2012, 21:12  [ТС] 11
Разве мне при вводе -3.14. выдаст 4, -3, -3 не должно положительные числа давать
0
15 / 15 / 1
Регистрация: 05.04.2012
Сообщений: 32
14.05.2012, 21:53 12
[- 3.14] = 4 вы же сами написали
1
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
14.05.2012, 22:12  [ТС] 13
Спасибо вам большое я все понял.

Вы могли бы еще одну программу написать. У меня Паскале если надо могу отправить.

Часовая стрелка образует угол фи с лучом, проходящим через центр и через точку, соответ-ствующую 12 часам на циферблате, 0<фи<=2пи. Определить значение угла для минутной стрелки, а также количество часов и полных минут
0
15 / 15 / 1
Регистрация: 05.04.2012
Сообщений: 32
14.05.2012, 22:43 14
Здравствуйте!

Я понял задачу. Если она у вас есть на Паскале, пишите сюда, смогу переписать на C++.

Добавлено через 24 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#define pi 3.14
using namespace std;
 
double fi, u;
int h, m;
 
void clrscr(void)
{
    do
    {
        cout << "Ygol chasovoi strelki ot 0 do 2*pi\n";
        cin >> fi;
    }while( fi < 0 && fi > 2*pi );
 
    m = int(fi*2.0*180.0/pi); // ÷àñîâàÿ ñòðåëêà ïîâîðà÷èâàåòñÿ íà 1 ãðàäóñ çà 2 ìèíóòû
    h = m / 60;
    cout << "Chasov = " << h << endl;
    m = m % 60;
    cout << "Minut = " << m << endl; 
    u = m*6*pi/180; // ìèíóòíàÿ ñòðåëêà ïîâîðà÷èâàåòñÿ íà 6 ãðàäóñîâ â ìèíóòó
    cout << "Ygol minutnoi strelki = " << u << endl;
}
 
int main()
{
    clrscr();
    system("PAUSE");
    return 0;
}
1
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
14.05.2012, 23:00  [ТС] 15
Спасибо огромное.
А вы на Паскале тоже можете?
0
15 / 15 / 1
Регистрация: 05.04.2012
Сообщений: 32
14.05.2012, 23:15 16
Немного умею.

Я знаю 3 языка хорошо: С, С++, С#
1
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
14.05.2012, 23:22  [ТС] 17
Вы можете на паскале написать эту программу ?

В данной действительной квадратной матрице порядка п найти наибольший по модулю элемент. Получить квадратную матрицу порядка п— 1 путем выбрасывания из исходной матрицы какой-нибудь строки и столбца, на пересечении которых расположен элемент с найденным значением.

код на С++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include"stdafx.h"
#include<iostream>
#include<iomanip>
#include<cmath>
#include<ctime>
#include<cstdlib>
using namespace std;
#define N 5
int main()
{
    int A[N][N]; // исходный массив А
    cout<<"Array A[N][N] : \n\n";
    for ( int i=0; i<N; i++) // через два цикла заполняем его случайными числами и выводим на экран
    {
        for ( int j=0; j<N; j++)
        {
            A[i][j] = (rand()%200) -100;
            cout<<fixed<<setw(4)<<A[i][j]<<" ";
        }
        cout<<endl;
    }
    int max = A[0][0]; //будет содержать максимальный элемент массива А
    int max_i = 0; // будет содержать номер строки макс элемента массива А
    int max_j = 0; // будет содержать номер столбца макс элемента массива А
    for ( int i=0; i<N; i++) // через два цикла находим макс элемент и присваиваем его переменной max. 
    {
        for ( int j=0; j<N; j++)
        {
            if ( max < abs(A[i][j]) )
            {
                max = abs(A[i][j]);
                max_i = i;
                max_j = j;
            }
        }
    }
    cout<<"\nMax element = "<<max<<"["<<max_i<<"]["<<max_j<<"]\n\n"; // выыодим на экран макс элемент 
    int B[N-1][N-1]; // создаем массив B на один порядок меньше
    cout<<"Array B[N-1][N-1]:\n\n";
    for ( int i=0; i<N-1; i++) // поэлементно копируем один массив в другой но..... 
    {
        for ( int j=0; j<N-1; j++)
        {
            if ( i == max_i || j == max_j ) // если номер строки или номер столбца совпадает с номером строки иил номером стоблца макс элемента то пропускаем итерацию цикла
                continue;
            B[i][j] = A[i][j];
            cout<<fixed<<setw(4)<<A[i][j]<<" ";
        }
        cout<<endl;
    }
    cout<<endl;
    system("pause");
    return 0;
}
0
14.05.2012, 23:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2012, 23:22
Помогаю со студенческими работами здесь

Дано целое двухзначное число a. Получить наибольшее число, которое можно получить из цифр числа a
Дано целое двухзначное число a. Получить наибольшее число, которое можно получить из цифр числа a....

Дано двузначное число. Получить число образованное при перестановке цифр заданного числа
дано двузначное число.получить число образованное при перестановке цифр заданного числа. Прошу...

Дано двухзначное число. Получить число, образованное при перестановке цифр заданного числа
Дано двухзначное число. Получить число, образованное при перестановке цифр заданного числа.

Дано натуральное число N. Найти наименьшее число М (N< M< 2N), которое делится на сумму цифр числа N (без оста
Дано натуральное число N. Найти наименьшее число М (N&lt; M&lt; 2N), которое делится на сумму цифр числа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru