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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2013, 17:55   #1
luser-user
Пользователь
 
Регистрация: 06.01.2013
Сообщений: 18
По умолчанию консоль (ввод животное-вывод год)

помогите,пожалуйста,с задачей!
вводим в консоле животное - получаем года, которые соответствуют ему(как в восточном календаре).
и нужно,чтобы года выводились либо по три в строке,либо по 5.в этом самая проблема...
luser-user вне форума Ответить с цитированием
Старый 13.02.2013, 18:26   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
и нужно,чтобы года выводились либо по три в строке,либо по 5.в этом самая проблема...
Покажите код, выводящий по сколько угодно в строке.
Abstraction вне форума Ответить с цитированием
Старый 13.02.2013, 18:38   #3
luser-user
Пользователь
 
Регистрация: 06.01.2013
Сообщений: 18
По умолчанию

вообще там ограничения.с 1888 по 2067.вот часть кода:

if (n < 2)
{
for(int i=0;i<15; i=i+1)
{

if ("Крыса" == animal && (i + 1) % 3 == 0) Console.WriteLine(year1[i]);
else Console.Write(year1[i] + " ");
if ("Бык" == animal && (i + 1) % 3 == 0) Console.WriteLine(year2[i]);
else Console.Write(year2[i] + " ");
if ("Тигр" == animal && (i + 1) % 3 == 0) Console.WriteLine(year3[i]);
else Console.Write(year3[i] + " ");

}
}

year1[],year2[],year3[] - массивы,где описаны соответствующие животному года.
luser-user вне форума Ответить с цитированием
Старый 13.02.2013, 18:40   #4
luser-user
Пользователь
 
Регистрация: 06.01.2013
Сообщений: 18
По умолчанию

это действует когда одно условие if. тогда выводит как когда,по три в строке.а когда много(как здесь)-выводит все.
luser-user вне форума Ответить с цитированием
Старый 13.02.2013, 18:50   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Ну так else же применяется ко всему условию:
Код:
if ("Крыса" == animal && (i + 1) % 3 == 0) Console.WriteLine(year1[i]);
else /*if("Крыса" != animal || (i + 1) % 3 != 0)*/ Console.Write(year1[i] + " ");
Естественно, это не будет работать. Сначала выберите соответствующий зверю массив, потом его выводите:
Код:
int[] year;
switch(animal){
  case "Крыса":
    year = year1;
    break;
  case "Бык":
    year = year2;
    break;
  case "Тигр":
    year = year3;
    break;
  default:
    //Чего-нибудь
    year = null;
}

for(int i=0; i<15; ++i){
  if((i+1) % 3 == 0) Console.WriteLine(year[i]);
  else Console.Write(year[i] + " "); 
}
Abstraction вне форума Ответить с цитированием
Старый 13.02.2013, 18:54   #6
luser-user
Пользователь
 
Регистрация: 06.01.2013
Сообщений: 18
По умолчанию

вот же незадача,не обратить внимание на такое...спасибо Вам большое за помощь!
не дошло,что switch - case здесь применять)
luser-user вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод и вывод данных через консоль (C++) villain10 Помощь студентам 4 20.02.2012 22:04
Ввод и вывод строковых данных на консоль BlackFantom Общие вопросы по Java, Java SE, Kotlin 0 21.12.2011 15:09
Ввод и вывод строковых данных на консоль BlackFantom Общие вопросы по Java, Java SE, Kotlin 1 19.12.2011 17:14
Ввод и вывод строковых данных на консоль BlackFantom Общие вопросы по Java, Java SE, Kotlin 1 16.12.2011 04:14
Ввод и вывод строковых данных на консоль turtles Общие вопросы по Java, Java SE, Kotlin 1 26.09.2011 05:06