2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
||||||
1 | ||||||
подсчет количества цифр13.10.2009, 19:34. Показов 2632. Ответов 18
Метки нет (Все метки)
собственно текст задачи:
Первая и вторая строки входного файла(можно вводить с клавиатуры, а не файлом) содержат начало и конец промежутка времени. Начальное время не превосходит конечное. Время задается в формате hh:mm:ss (0<=hh<24; 0<=mm<60; 0<=ss<60). Числа дополнены по необходимости нулями. Необходимо вывести 10 строк, в i-ой строке должно быть прописано, сколько раз встречается цифра ( i -1 ). Задача была на олимпиаде по программированию, прошедшей у меня сегодня. начало сделал
дальше начался ступор есть какие-нибудь предложения, как решить?
0
|
13.10.2009, 19:34 | |
Ответы с готовыми решениями:
18
Подсчет количества цифр равных 3 в числе Подсчет количества одинаковых цифр в числе Рекурсия: подсчет количества цифр в заданном натуральном числе Подсчет количества различных значащих цифр в десятичной записи числа |
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
13.10.2009, 20:01 | 2 | |||||
И зачем всякие преобразования, если нужно посчитать количество символов?
0
|
2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
|
13.10.2009, 20:05 [ТС] | 3 |
если я не указал, нужно посчитать количество цифр от 0 до 9 во всех записях времени, ограниченный данными, т.е. если начало 23:59:58 и конец 23:59:59 получится 0-0-2-2-0-4-0-0-1-3 а если начало промежутка 13:24:09 а конец 13:24:40 5-45-45-45-36-3-3-3-3-4
0
|
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
13.10.2009, 20:08 | 4 | |||||
Ничего не понятно. Если цифр одинаковых может быть больше 9 то тогда так
0
|
2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
|
13.10.2009, 20:11 [ТС] | 5 |
тогда пишу задачу текстом
Петя очень любит наблюдать за электронными часами. Он целыми днями смотрел на часы и считал, сколько раз встречается каждая цифра. Через несколько месяцев он научился по любому промежутку времени говорить, сколько раз на часах за это время встретится каждая цифра. написать программу, которая сможет проделывать такие-же действия и объяснять, как это сделано можно? и лучше на пальцах, а то сегодня думать уже не получается
0
|
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
13.10.2009, 20:14 | 6 |
Во, это другое дело. Тут попотеть нужно. Удачи! Я олимпиадные задачи отличникам не решаю. Только двоешникам.
0
|
2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
||||||
13.10.2009, 21:03 [ТС] | 7 | |||||
0
|
2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
||||||
14.10.2009, 22:19 [ТС] | 8 | |||||
второй вариант
делаем начало и конец интервала времени в секундах потом представляем это число в обычном виде(hhmmss) забиваем это в цикл и там с помощью цикла и перевода в текст подсчитываем кол-во цифр Добавлено через 1 час 20 минут нужна помощь вроде составил программу нужна помощь в отладке и поиске ошибок
0
|
⚽
4190 / 1291 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
|
|
14.10.2009, 22:53 | 9 |
хмм... по-моему можно уложиться в три вложенных цикла в каждом из которых подсчитывать цифры.
0
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
14.10.2009, 23:11 | 10 |
Зачем в строки ?
Можно прямо так и считать - три целых hour, minutes, seconds. Алогоритм перехода по секундам нетрудно сделать. Для ускорения алгоритма еще можно вычислить сколько цифр в произвольной минуте то есть от XX:YY:00 до XX:YY:59 И сколько цифр в произвольном часе то есть от XX:00:00 до XX:59:59 Тогда вообще будет быстро считать.
0
|
2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
||||||
15.10.2009, 07:21 [ТС] | 11 | |||||
если делать не через строки, то придется более сложный алгоритм делать
возникла другая проблема числа Time_now,time_end,time_start переставил в longint возникла другая проблема например, считаем
считаю сам - число выходят всегда на 65 536 больше
0
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
15.10.2009, 08:10 | 12 |
0
|
2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
|||||||||||
15.10.2009, 15:35 [ТС] | 13 | ||||||||||
я перевожу введенное время в секунды
раздел описаний
если у кого есть варианты, как решить задачу другим способам, приветствую их выкладывание
0
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
15.10.2009, 20:52 | 14 |
Двубайтное целое как раз и есть 64*1024 в пределе. Если со знаком - то 32*1024. Ты привел только пару строк код - так что телепаты опять отдыхают - понять где ты именно ошибся невозможно.
0
|
2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
||||||
15.10.2009, 21:05 [ТС] | 15 | |||||
если текста программы в посте 8 этой темы мало - выкладываю новый код, с сегодняшними поправками
хоть они и longint
0
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
||||||
16.10.2009, 12:09 | 16 | |||||
Сделай везде longint - глядишь и глюк пропадет.
0
|
2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
|
16.10.2009, 14:38 [ТС] | 17 |
первая строка
буквы с одиночными индексами (h1,m1.s2...) используются для обозначения входящего времени с двойным индексом - соответственно цифры из строки берутся если покажешь, как можно делать из определенных букв строки выражение-буду благодарен во второй строке считается время в цикла, чтобы представить его в виде hhmmss /UPD исправил все на longint считать стал правильно причем эффект появился от исправления второй строки, которую Вы указали *удивлен*
0
|
2 / 2 / 0
Регистрация: 30.09.2009
Сообщений: 28
|
|
16.10.2009, 16:46 [ТС] | 18 |
хотя понял, почему так получалось
он проводит вычисления у минут, когда ему выделяют 1 байт а для времени надо 4, ну или, по крайней мере, 3 поэтому у него в начале переполнение вывод-используйте longint или int64(в дельфи) и будет вам счастье без переполнения
0
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
17.10.2009, 18:24 | 19 |
Достаточно просто всегда использовать int, кроме двух случаев.
Первый случай - когда прямо нужно использовать byte И второй случай - когда прямо вот совсем нужно использовать longint
0
|
17.10.2009, 18:24 | |
17.10.2009, 18:24 | |
Помогаю со студенческими работами здесь
19
Подсчет количества цифр числа + приближение числа Пи ф-лой Борвейна Подсчет количества слов в файле Файлы (подсчет количества слов) Подсчет количества чисел в диапозоне... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |