• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Скоро сессия, выручайте!

  • Автор темы Автор темы Bingooo
  • Дата начала Дата начала

Bingooo

Ученик
Регистрация
20 Дек 2008
Сообщения
3
Реакции
0
Баллы
0
Скоро сессия, выручайте!

В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года вывести его название, если 1984 год был началом цикла — годом зеленой крысы
 
Не знаю, сколь это Вам поможет, но когда-то я сделал для себя такую программку, она тщательно выверена и абсолютно рабочая. Есть отличия:

1. У Вас зеленый цвет, у меня - синий.
2. Помимо цветов, выводятся стихии (огонь, вода и т.п.).
3. В задаче перебор цветов (стихий) задан неправильно. На самом деле в восточном календаре цвет (стихия) не меняется в течение двух лет подряд.
4. За базовый принят не 1984, а год, номер которого кратен 60. Так удобнее.
5. В исходной программе учитываются годы до Н.Э. (легко убрать).

Текст программы:

{ Это для перевода текущего года в восточную символику }
CONST
Matter_Color:ARRAY[0..9] of STRING[16]=('Металл Белый ',
'Металл Белый ',
'Вода Черный ',
'Вода Черный ',
'Дерево Синий ',
'Дерево Синий ',
'Огонь Красный',
'Огонь Красный',
'Земля Желтый ',
'Земля Желтый ');

Animal:ARRAY[0..11] of STRING[8]=('Обезьяна',
'Курица ',
'Пес ',
'Свинья ',
'Мышь ',
'Корова ',
'Тигр ',
'Заяц ',
'Дракон ',
'Змея ',
'Конь ',
'Овца ');

VAR
CurYear, Mod1, Mod2, Mod3:Integer;

BEGIN
WRITELN('Годы до Н.Э. вводите со знаком "-";');
WRITELN('для выхода из программы введите нулевой год.');
WRITELN;
REPEAT
WRITE('Введите год: '); READLN(CurYear);
IF CurYear<>0 THEN
BEGIN
IF CurYear<0 THEN Mod1:=61+(CurYear mod 60) ELSE
Mod1:=CurYear mod 60;
Mod2:=Mod1 mod 10;
Mod3:=Mod1 mod 12;
IF CurYear<0 THEN
WRITELN(CurYear*(-1):8,' до Н.Э. ',Animal[Mod3],' ',
Matter_Color[Mod2])
ELSE
WRITELN(CurYear:8,' Н.Э. ',Animal[Mod3],' ',
Matter_Color[Mod2]);
END;
UNTIL CurYear=0;
END.
 
Назад
Сверху