Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
MRG_Serejka
15 / 15 / 7
Регистрация: 15.08.2013
Сообщений: 177
Завершенные тесты: 2
#1

Вывести время двумя цифрами (однозначные числа дополнить слева нулями) - C++

16.02.2017, 18:15. Просмотров 292. Ответов 17
Метки нет (Все метки)

вывод этой программы такой 12:1:40 при вводимой переменной 129700

а надо Correct output: 12:01:40
как я должен сделать чтобы вывело 01 ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{
    int hours, min, sec;
    int time;
    cout << "Введите время в секундах: ";
    cin >> time;
    hours = (time/3600)%24;
    cout << hours<<':';
    min = ((time/60)%60);
    cout << min<<':';
    sec = (time%60);
        cout << sec;
    return 0;   
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2017, 18:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести время двумя цифрами (однозначные числа дополнить слева нулями) (C++):

Строки. Нужно дополнить строку нулями слева - C++
Нужно дополнить строку нулями слева. Например была строка str1=&quot;345&quot; результат str2=&quot;0000000345&quot; Нужно именно в С++. ...

Числа, представимые разностью квадрата числа, образованного первыми двумя цифрами и квадратом 3-ей цифры - C++
найти все трехзначные числа которые можно представить разность между квадратом числа образованного первыми двумя цифрами и квадратом...

Вывести наименшую зарплату на предприятии с двумя цифрами после запятой - C++
Очень-очень вас прошу помогите с задачей На малом предприятии работает определенное количество работников, но не менее двух –...

Определить максимальную разность между двумя соседними цифрами числа - C++
Написать программу для с++: Дано целое число N. Определить максимальную разность между двумя соседними цифрами.

Двузначное число, образованное первыми двумя цифрами числа, умноженное на 3-ю цифру.. - C++
Двузначное число, образованное первыми двумя цифрами числа, умноженное на 3-ю цифру дает в произведении число, составленное последними...

Вывести сумму чисел из набора, расположенных между последними двумя нулями - C++
Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных...

17
Байт
Диссидент
Эксперт C
16825 / 11090 / 1743
Регистрация: 24.12.2010
Сообщений: 21,774
16.02.2017, 18:19 #2
C++
1
printf("%02d:%02d:%02d", hours, min, sec);
0
MRG_Serejka
15 / 15 / 7
Регистрация: 15.08.2013
Сообщений: 177
Завершенные тесты: 2
16.02.2017, 18:20  [ТС] #3
Байт, а без printf как можно сделать?
0
Байт
Диссидент
Эксперт C
16825 / 11090 / 1743
Регистрация: 24.12.2010
Сообщений: 21,774
16.02.2017, 18:28 #4
Какие-то есть аналоги и для cout, но printf это делает компактней

Добавлено через 47 секунд
MRG_Serejka, гляньте документацию по cout

Добавлено через 6 минут
C++
1
cout << setw(2) << setfill('0') << min;
Проще застрелиться
1
MRG_Serejka
15 / 15 / 7
Регистрация: 15.08.2013
Сообщений: 177
Завершенные тесты: 2
16.02.2017, 18:29  [ТС] #5
Байт, спасибо БАЙТик выручил
0
MrGluck
Модератор
Эксперт CЭксперт С++
7510 / 4642 / 700
Регистрация: 29.11.2010
Сообщений: 12,675
16.02.2017, 18:33 #6
Цитата Сообщение от Байт Посмотреть сообщение
Проще застрелиться
Благо, в С++ есть чем)
Да, форматирование вывода в Си на порядок удобнее.
1
MRG_Serejka
15 / 15 / 7
Регистрация: 15.08.2013
Сообщений: 177
Завершенные тесты: 2
16.02.2017, 18:42  [ТС] #7
MrGluck, но вопрос в том что я изучаю видео курсы , на начальной степени. и я не уверен что такой образ форматирования вывода через манипулятор там предпологался. ссылка на источник :https://stepik.org/lesson/%D0%A6%D0%...%2B)&unit=4362
0
MrGluck
Модератор
Эксперт CЭксперт С++
7510 / 4642 / 700
Регистрация: 29.11.2010
Сообщений: 12,675
16.02.2017, 18:49 #8
Однако, со временем можно немного упростить себе жизнь:
http://www.cplusplus.com/reference/iomanip/put_time/

C++
1
2
3
4
5
6
7
8
9
10
11
#include <ctime>
#include <iomanip>
#include <iostream>
 
int main()
{
    std::cout << "Enter time in seconds: ";
    std::time_t tt;
    std::cin >> tt;
    std::cout << std::put_time(gmtime(&tt), "%T");
}
0
MRG_Serejka
15 / 15 / 7
Регистрация: 15.08.2013
Сообщений: 177
Завершенные тесты: 2
16.02.2017, 19:09  [ТС] #9
MrGluck, вот программа . она ответ выводит корректно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
    int hours, min, sec;
    int time;
    cout << "Введите время в секундах: ";
    cin >> time;
    hours = (time/3600)%24;
    min = ((time/60)%60);
    sec = (time%60);
    printf("%02d:%02d:%02d", hours, min, sec);
 
    return 0;   
}
но на сайте с заданиями не принимает ее...
вот ее ответ:
Failed test #1. Wrong answer
Input:
3602
Your output:
Введите время в секундах: 01:00:02
Correct output:
1:00:02


нашел ошибку вывод не должен менять часы

Добавлено через 7 минут
Failed test #1. Wrong answer
Input:
3602
Your output:
Введите время в секундах: 1:00:02
Correct output:
1:00:02
помогите решить эту тупость!!! ссылка на задачу https://stepik.org/lesson/%D0%A6%D0%...%2B)&unit=4362
0
_liv_
234 / 234 / 87
Регистрация: 07.10.2015
Сообщений: 643
Завершенные тесты: 1
16.02.2017, 19:22 #10
printf("%d:%02d:%02d", hours, min, sec);
0
MRG_Serejka
15 / 15 / 7
Регистрация: 15.08.2013
Сообщений: 177
Завершенные тесты: 2
16.02.2017, 19:25  [ТС] #11
_liv_, я сделал выше глянь вывод. не помогло с выполнением задачи
0
MrGluck
Модератор
Эксперт CЭксперт С++
7510 / 4642 / 700
Регистрация: 29.11.2010
Сообщений: 12,675
16.02.2017, 19:33 #12
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
Your output: 01:00:02
Correct output: 1:00:02
Действительно, тупость.
А если так:
C++
1
2
3
4
5
6
7
8
#include <cstdio>
 
int main()
{
    int sec;
    scanf("%d", &sec);
    printf("%d:%02d:%02d", sec / 3600 % 24, sec / 60 % 60, sec % 60);
}
0
nonedark2008
964 / 704 / 157
Регистрация: 28.07.2012
Сообщений: 1,931
16.02.2017, 19:37 #13
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
Введите время в секундах:
Я думаю, что эта фраза все портит.
0
_liv_
234 / 234 / 87
Регистрация: 07.10.2015
Сообщений: 643
Завершенные тесты: 1
16.02.2017, 19:38 #14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    int hours, min, sec;
    int time;
    cout << "Введите время в секундах: ";
    cin >> time;
    hours = (time/3600)%24;
    cout << hours<<':';
    min = ((time/60)%60);
    cout << setw(2) << setfill('0') << min << ':';
    sec = (time%60);
    cout << setw(2) << setfill('0') << sec << endl;
    return 0;   
}
0
nonedark2008
964 / 704 / 157
Регистрация: 28.07.2012
Сообщений: 1,931
16.02.2017, 19:38 #15
Ведь написано же, ожидается:
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
1:00:02
Получено:
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
Введите время в секундах: 1:00:02
Чувствуешь разницу?
0
16.02.2017, 19:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2017, 19:38
Привет! Вот еще темы с ответами:

первых четырех цифр числа равна двузначному числу образованному последними двумя цифрами - C++
сумма первых четырех цифр числа равна двузначному числу, образованному последними двумя цифрами.

Вывести сумму чисел из данного набора, расположенных между последними двумя нулями - C++
№2 Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных...

Вывести сумму чисел из данного набора, расположенных между первыми двумя нулями - C++
№1 Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных...

Вывести на экран все числа-палиндромы (числа, которые одинаково читаются как слева так и справа) - C++
Вывести на экран все числа палиндромы (т.е числа которые читаются одинаково как слева, так и справа) из заданного интервала натурального...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.