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

часовой пояс

07.09.2011, 16:05. Показов 2859. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Не знаю в чем ошибка... Тест не проходить... Найдите пожалуйста что я не делаю правильно. Условие такое:
Самолет взлетает в X (целое, 0<=X<=23) часов по местному времени в часовом поясе номер M (целое, 0<=M<=23). После полета в течение K (целое, 1<=K<=12) часов он приземляется в часовом поясе номер N (целое, 0<=N<=23). Определите местное время в пункте приземления. Считать, что часовые пояса нумеруются с запада на восток.
Формат входных данных:
В стандартном потоке ввода в первой строке через пробел записаны числа X, M, K, N.
Формат выходных данных:
В стандартный поток вывода требуется выдать местное время в пункте назначения в часах.

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
#include <iostream>
using namespace std;
int main()
{
    double x;//time of mestnosti
    double m;//4asovoi poyas po mestnosti
    double k;//time of flying
    double n;//4asovoi poyas mesta prileta
 
    cin >> x >> m >> k >> n;
 
    double yaya = (k + (n - m)) + x;
 
    if (yaya > 23)
    {
        cout << yaya - 24 << endl;
    }
    else
    {
        cout << yaya << endl;
    }
    
    
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2011, 16:05
Ответы с готовыми решениями:

Повернуть матрицу по часовой стрелке
Что нужно сделать, чтобы повернуть матрицу по часовой стрелке?? если меняешь i и j местами, но...

Вращать треугольник по часовой стрелке
Здравствуйте, буду признателен если поможете, т.к. математика не моя сильная сторона. Условие...

Обход треугольника по часовой стрелке
Всем доброго дня, а кому-то вечера, итак суть задачи: есть координаты вершин треугольника и нужно...

Повернуть массив на 90° по часовой стрелке
С помощью генератора случайных чисел заполните двумерный массив NxN числами в интервале 10-99, и...

13
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
07.09.2011, 16:10 2

Не по теме:

мощные названия переменных! вобще красота



почему все переменные double? все числа целые
там вполне хватит unsigned short int
в конце return 0;

Не по теме:

//time of mestnosti
полутранслит. плАчу

1
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
07.09.2011, 16:13  [ТС] 3
я и
C++
1
int
пробовал, все равно второй тест не пропускает... я просто думал что там будут вводить время в формате 22.45. просто об этом в условий ничего не говорится
0
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
07.09.2011, 16:14 4
под время обычно структуру или класс пишут.

и все же return 0; будет очень кстати

в условии говориться "ЦЕЛОЕ"
0
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
07.09.2011, 16:18  [ТС] 5
все равно 2-й тест не проходит)) 1-й тест прошел, значит ошибка в вычислений, а не в оформление кода

Добавлено через 1 минуту
Цитата Сообщение от co6ak Посмотреть сообщение
Не по теме:
//time of mestnosti
полутранслит. плАч
это просто заметки для себя)))
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.09.2011, 16:36 6
А попробуйте ввести 23 0 12 23 и посмотрите ответ.

Добавлено через 1 минуту
Не обязательно такие переменные будут в тесте. Но суть ошибки, думаю, станет ясна
1
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
07.09.2011, 16:42 7
хех.
не вычитание, а остаток от деления
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.09.2011, 16:47 8
А что быстрее будет? Два if-a с вычитанием, цикл, или деление? На такой программе вряд ли будет заметно, а если в большом проекте?
Просто интересно
0
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
07.09.2011, 18:10  [ТС] 9
ну а теперь?
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
#include <iostream>
using namespace std;
int main()
{
    unsigned short int x;//time of mestnosti
    unsigned short int m;//4asovoi poyas po mestnosti
    unsigned short int k;//time of flying
    unsigned short int n;//4asovoi poyas mesta prileta
 
    cin >> x >> m >> k >> n;
 
    unsigned short int yaya = (k + (n - m)) + x;
 
    if (yaya > 23)
    {
        while (yaya > 23)
        {
            yaya = yaya - 24;
        }
        cout << yaya << endl;
    }
    else
    {
        cout << yaya << endl;
    }
    
    
}
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.09.2011, 18:25 10
Лучше так
C++
1
2
while(yaya > 23)
    yaya -= 24;
Имеется ввиду вместо всего if-else
А после цикла просто вывести

Добавлено через 10 минут
И в данном случае я бы не советовал использовать unsigned. Вообще никакой. Смотрите, при введении 0 23 1 0 будет переполнение, поскольку в 12 строчке беззнаковому числу yaya присвоится значение -22, что, разумеется, вызовет переполнение. Конечно, благодаря циклу все _может_ исправиться, но это маловероятно. Используйте просто short
1
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
07.09.2011, 20:07  [ТС] 11
Цитата Сообщение от soon Посмотреть сообщение
Лучше так
Код C++
1
2
while(yaya > 23)
yaya -= 24;
а чем это лучше?? вроде разницы ни какой.
всем спасибо, я нашел свою ошибку, тема закрыта))
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.09.2011, 20:09 12
Кода меньше набирать.
0
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
07.09.2011, 20:12  [ТС] 13
Цитата Сообщение от soon Посмотреть сообщение
А что быстрее будет? Два if-a с вычитанием, цикл, или деление? На такой программе вряд ли будет заметно, а если в большом проекте?
Просто интересно
я думаю что два if-a, потому что в таком случае выполняется только одно условие, а если код большой то циклу придеться пройти от А до Я и это займет намного больше времени...
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.09.2011, 20:19 14
+ у вас 2 операции сравнения(одна в if и другая в while), а у меня только одна.

Добавлено через 5 минут
я думаю что два if-a, потому что в таком случае выполняется только одно условие, а если код большой то циклу придеться пройти от А до Я и это займет намного больше времени...
Если код действительно большой, то 2 if-a не заменят цикл. В данном конкретном вопросе я подразумевал: что будет быстрее выполняться - деление или вычитание? Когда я учил язык, в самоучителе было указано, что сложение и вычитание происходит быстрее деления и умножения. Вопрос лишь в том, насколько быстрее.
0
07.09.2011, 20:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2011, 20:19
Помогаю со студенческими работами здесь

Поворот фигуры по часовой стрелке
Помогите вывести формулу для поворота фигуры на произвольный угол. У меня выходит одно уравнение с...

Заполнить матрицу по часовой стрелке
Ввести массив B, что состоит с элементов А(10;10), начиная с правого верхнего угла по часовой...

Поворот матрицы по часовой стрелки
Задан квадратный массив А из N строк и N столбцов. Произвести «поворот по часовой стрелке» массива...

Вращение Треугольника по часовой стрелке
Есть вот такие переменные: int x1_1 = 320; int x2_1 = 300; int y1_1 = 200; int y2_1 = 240;...


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

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