Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2010, 21:08   #11
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от osichev Посмотреть сообщение
1984 ? а концом?
Цитата:
Сообщение от L.An.gert Посмотреть сообщение
я подозреваю что 2044
2012 будет концом

[ДОБАВЛЕНО]
Цитата:
Сообщение от L.An.gert Посмотреть сообщение
проблемы с падежами
Вот собственно решение с падежами
Код:
function God(x: word): string;
const
  Men = [2..4];
  Color1: array[0..4] of string = ('зелёной', 'красной', 'жёлтой', 'белой', 'чёрной');
  Color2: array[0..4] of string = ('зелёного', 'красного', 'жёлтого', 'белого', 'чёрного');
  Zver: array[0..11] of string =
    ('крысы', 'коровы', 'тигра', 'зайца', 'дракона', 'змеи',
     'лошади', 'овцы', 'обезьяны', 'курицы', 'собаки', 'свиньи');
  N = 1984;
var
  k: word;
begin
  k := (60 + (x - N) mod 60) mod 60;
  if k mod 12 in Men then
    result := Color2[k div 12] + ' ' + Zver[k mod 12]
  else
    result := Color1[k div 12] + ' ' + Zver[k mod 12]
end

Последний раз редактировалось eoln; 11.03.2010 в 21:29.
eoln вне форума Ответить с цитированием
Старый 11.03.2010, 21:43   #12
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

А у меня на С++ получилось,что 2010 год-это год красного тигра!
Мож где не правильно,исправьте.
Код:
#include <stdio.h>
#include <math.h>

void main ()
{
 char * a[]={"зелёный","красный","жёлтый","белый","чёрный"};
 char * mas[]={"крысы","коровы","тигра","зайца","дракона","змеи","лошади","овцы","обезьяны","курицы","собаки","свиньи"}; 
 int N=1984,i=0,j=0,G;
 printf("\nVVEDITE GOD = \t");
 scanf("%d",&G);
 while(N<=2044){
 if(G==N){
 printf("%s",mas[i]);
 printf("\t%s",a[j]);
 }
 N++;
 i++; 
 j++; 
 if(j==5){ j=0; }
 if(i==12){ i=0; }
 }
}
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 11.03.2010, 22:29   #13
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

1984 - зелёный
1996 - красный
2008 - жёлтый
В цикле переменная j должна меняться каждый 12-ый проход, а не каждый раз, иначе 2011 будет уже жёлтый, а 2012 белый.
Измени в конце
Код:
 N++;
 i++; 
 if(i==12){ i=0;  
 j++; 
 if(j==5){ j=0; }//собственно для промежутка 1984-2043 это не требуется
 }
ДОБАВЛЕНО
Кстати, вспомнил что сейчас год белого тигра, полез в википедию и обнаружил, что цвета года меняются каждые два года, а не 12 как я думал.
Так как в задании ничего этого не было, то виноваты авторы задачи. И чтобы не обидеть китайцев и другие восточные народы соответственно в моём последнем посте заменяем
Код:
k div 12
на
Код:
(k mod 10) div 2

Последний раз редактировалось eoln; 11.03.2010 в 22:58.
eoln вне форума Ответить с цитированием
Старый 11.03.2010, 22:37   #14
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

Ааааа,всё,понял в чем тут фишка
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
цикл в цикле (Си++) ConChita Помощь студентам 2 11.03.2010 09:13
Ошибка в цикле Oleg Romanchuk Помощь студентам 10 17.11.2009 06:34
Нюанс в цикле Superlotles Помощь студентам 9 18.10.2009 13:38
Ошибка в цикле Belokuraya Microsoft Office Excel 11 18.08.2009 15:52