Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 22

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

13.02.2013, 17:48. Показов 2787. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru