0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 22

Восточный календарь: ввести животное, вывести годы

13.02.2013, 17:48. Показов 2809. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите,пожалуйста,с задачей!
вводим в консоле животное - получаем года, которые соответствуют ему(как в восточном календаре).
и нужно,чтобы года выводились либо по три в строке,либо по 5.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2013, 17:48
Ответы с готовыми решениями:

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

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

Ввести номер месяца и номер года. Вывести количество дней в этом месяце (учитывать високосные годы)
Ввести номер месяца и номер года. Вывести количество дней в этом месяце (учитывать високосные годы)

16
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
13.02.2013, 18:30
switch - case лучше всего подходит для условия.
0
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 22
13.02.2013, 18:33  [ТС]
а можете показать кусочек.не совсем доходит,как это действует
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
13.02.2013, 18:37
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
 
class Program
{
    static void Main()
    {
        string animal = Console.ReadLine();
        switch (animal)
        {
            case "Змея": Console.WriteLine(2000);
                break;
 
            // тут оставшиеся case для всех животных
 
            default: Console.WriteLine("Вы ввели не верное животное.");
                break;
        }
        Console.ReadKey();
    }
}
1
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 22
13.02.2013, 18:48  [ТС]
а если не один год а 15?в массив ввести года на каждое животное.но вопрос-как вывести все элемента массива разом?знаю как несколько,а чтобы все...нигде и не могу найти такое.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
13.02.2013, 18:58
зачем массив? switch - case это перебор
C#
1
2
3
4
5
6
7
case "Змея": Console.WriteLine(2000);
    break;
case "Тигр": Console.WriteLine(/*какой-то год*/);
    break;
case "Дракон": Console.WriteLine(/*какой-то год*/);
    break;
// и т.д.
для вывода "по три в строке" используйте форматирование строки.
1
.NET ONLY
 Аватар для DEA7H
71 / 71 / 7
Регистрация: 05.10.2011
Сообщений: 495
13.02.2013, 18:59
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот так вот как-то:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Threading;
using System.Web;
using System.IO;
using System.ComponentModel;
 
namespace CF_Examples
{
    class Program
    {
        static void Main(string[] args)
        {
            int k = 0;
            //Как-то получаем животное
            string animal = "Leopard";
 
            //Как-то получаем количество год
            int[] years = { 1990, 1993, 1994, 1996, 2001, 2003, 2005, 2007, 2009, 2013 };
    
            //По сколько год в ряд выводить
            System.Console.WriteLine("Посколько годов в строке выводить? По: ");
            int n = Convert.ToInt32(System.Console.ReadLine());
 
            System.Console.WriteLine("Год: " + animal);
 
            //Цикл для вывода
            for (int i=0; i<10; i=i+n)
            {
                for (int j=0; j<n; j++)
                {
                    if (k<10)
                    {
                        System.Console.Write("[" + years[k] + "] ");
                        k++;
                    }
                }
                System.Console.WriteLine("\n");
            }
            Console.ReadKey(true);
        }
    }
}
1
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 22
13.02.2013, 19:03  [ТС]
спасибо большое!)буду разбираться
0
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
13.02.2013, 19:08
Вот на мой взгляд подходящее решение. И более уместное чем предложенное выше.
C#
1
2
3
4
5
6
7
8
9
10
            var d = new Dictionary<string, List<int>>();
            // Тут заполняете словарь парами значение животного и список годов. Список годов лучше в цикле генерить
            d.Add("Змея", new List<int> {1989,2001,2013});
            Console.WriteLine("Введите животное:");
            var an = Console.ReadLine();
            var years = d.First(x => x.Key == an).Value;
            foreach (var r in years)
            {
                Console.WriteLine(r);
            }
1
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 22
13.02.2013, 19:14  [ТС]
ого,спасибо!!!
0
Темная сторона .Net
 Аватар для Noob.net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
13.02.2013, 19:25
lyser-user, Где то-так. Еще несколько тестов с вашей стороны,но логика такая.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Years
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Input Year");
            int year = int.Parse(Console.ReadLine());
            Console.WriteLine( ((YearName)(year % 12 -1)).ToString() );
 
            Console.ReadKey();
        }
    }
 
    enum YearName 
    {
        Snake,
        Horse,
        Bear,
        Beer,
        Digle,
        Monkey,
        Crocodile,
        Popodile,
        Snake1,
        Horse1,
        Bear1,
        Beer1,
        Snake2,
        Horse2,
        Bear2,
        Beer2
    }
}


Добавлено через 46 секунд
ай,в точности да наоборот сделал
1
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 22
13.02.2013, 19:36  [ТС]
DEA7H, а вот вы написали
C++
1
System.Console.Write("[" + years[k] + "] ");
это вывод из одного массива?если да,то как быть если массивов много?
например
C#
1
2
3
int[] year1 = { 1888, 1900, 1912  };
int[] year3 = { 1890, 1902, 1914, 1926 };
int[] year2 = { 18890, 1962, 1974, 1986, 1998};
Добавлено через 1 минуту
Noob.net, спасибо наоборот это вполне понятно,делали так) а как по условию-что то напряг...))
0
Темная сторона .Net
 Аватар для Noob.net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
13.02.2013, 19:36
lyser-user, не нужно здесь массивов - все прекрасно одним циклом,перечислением и остатком от деления решается.
1
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 22
13.02.2013, 19:39  [ТС]
Noob.net, а можно поподробнее?извините,никак не доходит...
0
Темная сторона .Net
 Аватар для Noob.net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
13.02.2013, 19:44
lyser-user, Надеюсь идея будет понятна,писал быстро,спешу на треню. Вечером могу дописать)
Введи например Snake. Еще с UpperCase можно поиграться //ToUpper
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Years
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Input Year");
            string yearName = Console.ReadLine();
            
            for (int i = 1910; i < 2050; i++) //год начала,год конца выводимых
            {
                if(i%12 -1 == (int)Enum.Parse(typeof(YearName),yearName))
                    Console.WriteLine(i);
            }
 
                Console.ReadKey();
        }
    }
 
    enum YearName 
    {
        Snake,
        Horse,
        Bear,
        Beer,
        Digle,
        Monkey,
        Crocodile,
        Popodile,
        Snake1,
        Horse1,
        Bear1,
        Beer1,
        Snake2,
        Horse2,
        Bear2,
        Beer2
    }
}
1
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 22
13.02.2013, 21:15  [ТС]
Noob.net, спасибо,попробую разобраться.никогда просто такого не делали.туго доходит а разобраться то хочется

Добавлено через 1 час 27 минут
только вроде надо if ((i - 4) % 12 чтобы правильно вычислял года
0
Темная сторона .Net
 Аватар для Noob.net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
13.02.2013, 22:55
lyser-user, я искал остаток от деления на 12 потому что каждые 12 лет китайский или чей он там,год повторяется. То-есть 13 год = тоже что и 1 год.
Возможно я натупил с начальным и конечными годами, ну и еще порядок зверья нужно правильно написать.

А 1 отнимаем потому что перечисление enum начинается с 0 и заканчивается 11,а не с 1 и 12,хотя и это можно исправить.

Добавлено через 2 минуты
lyser-user, Я дам самое сложное задание самому ленивому сотруднику,потому что он найдет самый простой способ что бы решить это задание. (Билл Гейтс)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.02.2013, 22:55
Помогаю со студенческими работами здесь

Восточный календарь: вывести название года
Давным давно, в одной альтернативной вселенной, в восточном календаре был принят 60-летний цикл, состоящий из 12-летних под циклов,...

Восточный календарь
в восточном календаре принят 60=-летний цикл, состоящий из 12-летних подциклов, обозночаемых названиями цвета: зеленый, красный, желтый....

Восточный календарь
Нужна помощь,ну или кто может написать код программы,про Восточный календарь! Сам текст: В восточном календаре принят 60 летний...

Восточный календарь
Составить программу, которая определяет, на какой год восточного календаря приходится какой – либо год нашего летоисчисления. Для этого из...

Восточный календарь
Точно помню, что эту прогу делали ещё в школе вместе с классом, но это было давно. Восточный календарь принят 60-летним циклом...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru