Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
2 / 2 / 0
Регистрация: 10.09.2018
Сообщений: 21

Ввод данных в олимпиаде по программированию

10.09.2018, 11:54. Показов 4453. Ответов 9

Студворк — интернет-сервис помощи студентам
В общем, столкнулся с такой проблемой: решаю прошлогодние пробники всероссийской олимпиады школьников по информатике, ввод - вывод, согласно представленным в пробниках первого тура примерам, осуществляется с помощью, соответственно, cin и cout. Задание, в котором возникла проблема, под третьим номером, можно посмотреть по следующей ссылке: http://vos.olimpiada.ru/upload... k-17-8.pdf . Цитирую параметры ввода: Программа получает на вход три временные метки A, B, C, по одной в каждой строке.
Все временные метки представлены в формате «hh:mm:ss», где «hh» – это часы, «mm» –
минуты, «ss» – секунды. Часы, минуты и секунды записываются ровно двумя цифрами
каждое (возможно, с дополнительными нулями в начале числа). Вопрос следующий : как преобразовать данный ввод в число, равное кол-ву секунд? Работаю в Visual Studio 2017.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.09.2018, 11:54
Ответы с готовыми решениями:

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

Как подготовиться к олимпиаде по программированию
завтра олимпиада по программированию областная помогите как мне к ней подготовится если в школе работали только на qbasic,а на олимпиаде...

Использование C# во всероссийской олимпиаде школьников по программированию
Здравствуйте!.. Хотел бы обратиться к КиберФорумчанам, имеющим опыт участия во всероссийских олимпиадах по программированию.. Вопрос вот в...

9
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
10.09.2018, 12:18
C++
1
int sec = hh * 3600 + mm * 60 + ss;
0
2 / 2 / 0
Регистрация: 10.09.2018
Сообщений: 21
10.09.2018, 12:46  [ТС]
Думаю, вы меня не до конца поняли. Я прекрасно знаю, как переводить часы и минуты в секунды, меня интересует получение этих данных (часов, минут, секунд) из строки hh:mm:ss, так как a)я не знаю, как переводить часть строки в число, b) меня смущает формулировка "метка" , не определяющая конкретно формат ввода и класс данных (int, string), ваш же ответ опускает как раз наиболее интересующую меня часть вопроса.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.09.2018, 13:01
Цитата Сообщение от Shalfey_278 Посмотреть сообщение
класс данных (int, string)
там двоеточия - int не подходит. тип данных char или string. лучше string. вынимайте подстроки hh, mm, ss преобразуйте их в int - а дальше по формуле что выше.
1
2 / 2 / 0
Регистрация: 10.09.2018
Сообщений: 21
10.09.2018, 13:07  [ТС]
Не могли бы вы подсказать, КАК перевести строку в число?
0
 Аватар для Reavolt
139 / 67 / 46
Регистрация: 15.10.2015
Сообщений: 308
10.09.2018, 13:14
Лучший ответ Сообщение было отмечено Shalfey_278 как решение

Решение

Shalfey_278,
C++
1
2
3
4
5
6
7
8
9
10
11
   #include <iostream>
   #include <sstream>
   #include <string> 
 
    std::string str_int = "74";
    std::istringstream iss (str_int , std::istringstream::in);
 
    int result;
    iss >> result;
 
    std::cout << result;
1
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
10.09.2018, 14:00
C
1
scanf("%i:%i:%i", &hh, &mm, &ss);
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.09.2018, 14:02
Лучший ответ Сообщение было отмечено Shalfey_278 как решение

Решение

Цитата Сообщение от Shalfey_278 Посмотреть сообщение
Не могли бы вы подсказать, КАК перевести строку в число?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<string>
using namespace std;
 
int main()
{
    int t, h,m,s;
    string str="01:02:05";   
    
    h = stoi(str.substr(0,2));
    m = stoi(str.substr(3,2));
    s = stoi(str.substr(6,2));
    
    t = 3600*h + 60*m + s; 
    cout <<t<<"c\n";
 
system("pause");
return 0;
}
1
2 / 2 / 0
Регистрация: 10.09.2018
Сообщений: 21
10.09.2018, 14:52  [ТС]
Не работает, ошибка на iss с формулировкой "невозможный неполный тип"
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.09.2018, 15:28
Shalfey_278, сообщайте к кому обращаетесь. если ко мне, проверьте работает ли у Вас пример со страницы:
https://ru.cppreference.com/w/... tring/stol
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.09.2018, 15:28
Помогаю со студенческими работами здесь

Как правильно заменить ввод данных простой на ввод с клавиатуры?
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) ...

Потоковый ввод и ввод данных. Работа с числами
Ввести с экрана два нат. числа. Найти частное первого на второе и определить, встречается ли среду его дробной части цифра 3( рассматривать...

Ввод структурированных данных в файл и вывод данных из этого файла на экран (сделать хранилище данных в файле)
Здравствуйте) помогите написать программу, осуществляющую ввод структурированных данных в файл и вывод данных из этого файла на экран...

Ссылка на учебник по программированию базы данных в VB
Привет всем. Кто - нибудь может подсказать ссылку на учебник по программированию базы данных в VB? Весь инет излазил а ничего подходящего...

Определение понятия по программированию, динамические структуры данных
долго ищу в инете, но толкового найти ничего не могу, общую суть понял а подробнее нет. так вот вопрос :Файл, динамические структуры...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru