![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Igor094 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.12.2012 Репутация: нет Всего: нет |
Геморная задача не знаю что сделать..
25. ввести строку, содержащую дату в формате хх-месяц-хх и преобразовать ее в формат хх.хх.хх пытался.. исходник вот... помогите может даже не решить, а найти ошибку... Присоединённый файл ( Кол-во скачиваний: 22 ) ![]() |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 4 Всего: 49 |
Это все - одна сплошная ошибка. Вам никто никогда не говорил о том, что в коде полезно делать отступы, писать комментарии, использовать осмысленные названия переменных и т.п.? Сейчас это какая-то безумная неструктурированная каша, в которой совершенно невозможно понять, что и зачем Вы делали. В общем, сделайте так: сотрите этот ужас, опишите самому себе способ решения задачи (полностью, на нормальном русском языке), а уже потом реализуйте этот способ в виде программы. Заново, с нуля. |
|||
|
||||
NoviceF |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
а зачем объявлять строки таким образом
? не тоже ли самое
? По моему 2й вариант намного нагляднее.. |
||||
|
|||||
Igor094 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.12.2012 Репутация: нет Всего: нет |
![]() там все поэтапно расписано... просто комментарии учитывая объемы задачи вообще меня путают... там я проверяю новый массив из записанного, полученным в результате выделения названия месяца, состоящего из трех букв с массивом который я обьявил если он равен, записываю номер месяца. Добавлено через 2 минуты и 45 секунд
это уже мои глупости... в тетрадке посмотрел как объявляються на первой странице, а дальше только потом увидел... но идея та же? то же самое ведь... |
||||||
|
|||||||
feodorv |
|
||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Всё таки давайте попробуем перерешить эту задачу. Ибо 12 штук повторяющихся циклов
Во-первых, мы знаем, что в формате хх-месяц-хх месяцу отведено три буквы (я правильно понимаю?), а x - это цифры. То есть формат совершенно фиксирован, мы даже можем (заранее) проверить соответствие введённой с клавиатуры строчки этому формату:
Во-вторых, было бы недурно объединить разрозненные массивы (имён месяцев) в один, тогда можно было бы организовать цикл по месяцам (т.е. избавиться от одного и того же кода, повторенного 12 раз). Это можно сделать по-разному, для простоты восприятия я воспользуюсь таким массивом:
В сущности, нам же нужно только определить номер месяца, сравнив всего три символа:
Теперь можно приступать к переформатированию строчки:
И последнее - выдача на печать результата:
![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||||||||
|
|||||||||||||
Igor094 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.12.2012 Репутация: нет Всего: нет |
жаль мы этого не проходили(
и адреса нельзя использовать иначе на зачете он эту тему мне поднимет... Добавлено через 1 минуту и 15 секунд
а по-идее это правильно? |
||||||
|
|||||||
feodorv |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
А массивы - можно??? А что сложного в адресах по сравнению с массивами? Ну если уж так ломает, то напишите следующее:
Напишите самостоятельно:
Понятия не имею ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||
|
|||||||
Igor094 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.12.2012 Репутация: нет Всего: нет |
вот этого я пока не знаю( кстати задача у меня не из-за этого не работает... ну если мое написанное можно этим назвать) я не правильно ввожу массив в массив... cin.getline(str,10); for (i=0; str[i]!=' '||str[i]!='\n'||str[i]!='\0';i++) s[i]=str[i]; вот этот цикл бесконечен... почему?( |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Из-за "or"-ов. Нужны "and"-ы ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Igor094 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.12.2012 Репутация: нет Всего: нет |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
При "and"-ах, да, сразу три. При "or"-ах достаточно какого-то одного. И даже если у Вас str[i]==' ' (первое условие не выполняется), то выполняется второе и даже третье: ' '!='\n' и ' '!='\0'. PS Намёк:
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Igor094 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.12.2012 Репутация: нет Всего: нет |
Прокатит? ща посмотрим.. Добавлено через 7 минут и 3 секунды
Блин вообще не катит( выдает ошибку 1>c:\users\documents\visual studio 2010\projects\8 zakaleb pisat\8 zakaleb pisat.cpp(26): warning C4805: !=: небезопасное смешение типа "char" и типа "bool" в операции |
||||
|
|||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Что именно не катит, вот это:
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Igor094 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.12.2012 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |