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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2015, 22:41   #1
clubuser
 
Регистрация: 13.11.2015
Сообщений: 4
По умолчанию Каких цифр больше, чётных или не чётных?

Нужно решить задачу:

Цитата:
С клавиатуры вводится одно число которое не больше чем 2*109.
Определить, каких цифр в нём больше, чётных или не чётных?
Вывести:
2 - если больше чётных,
1 - если больше нечётных,
0 - если одинаково тех и других.

Начальные данных: одно целое число
Вывод результата: число 2, 1 или 0
Я написал, но у меня проверка для каждой цифры из числа если она четная или нечетная, не знаю как исправить
Код:
long inicialnumber = long.Parse(Console.ReadLine());
            
            long digit;
            while (inicialnumber > 0)
            {
                digit = inicialnumber % 10;
                int count1, count2, answer;
                count1 = 0;
                count2 = 0;
                answer = 0;
                if (digit % 2 != 0)
                    count2++;
                else
                    count1++;
                inicialnumber = inicialnumber / 10;
                
                
                if (count1 > count2)
                    answer = 2;
                if (count2 > count1)
                    answer = 1;
                if (count1 == count2)
                    answer = 0;
                
                double avg = answer.Average();

                
                Console.WriteLine( avg);
            }

Последний раз редактировалось Stilet; 14.11.2015 в 10:13.
clubuser вне форума Ответить с цитированием
Старый 14.11.2015, 10:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Обязательно число нужно?
Может так проще?:
Код:
string s=Console.ReadLine(),a="2468";
Console.Write("Четных={0} Нечетных={1}"
 ,s.Count(c=>a.IndexOf(c)!=-1)
 ,s.Count(c=>a.IndexOf(c)==-1)
);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2015, 10:33   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Непонятно для чего Average, и вообще зачем все это начиная с определения значения answer находится в цикле. Оно ж должно быть после прохождения всех чисел.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.11.2015, 17:46   #4
clubuser
 
Регистрация: 13.11.2015
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Непонятно для чего Average, и вообще зачем все это начиная с определения значения answer находится в цикле. Оно ж должно быть после прохождения всех чисел.
Я хотел вывести
PHP код:
Console.WriteLine(answer); 
чтобы был как ответ, но он выводит для каждого числа отдельно. Если я ввожу
PHP код:
1234567 
То мне в ответ выдает
PHP код:
1
2
1
2
1
2

Для каждого числа четное оно или нечетное. Average неправильно, но я не знаю как сделать чтобы оно сравнило четные и нечетные и вывело мне либо 1,2 или 0
clubuser вне форума Ответить с цитированием
Старый 14.11.2015, 18:22   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну я ж сказал что сделать надо.

А Average тут не нужен совсем, и вместо него ничего не нужно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.11.2015 в 18:25.
Alex11223 вне форума Ответить с цитированием
Старый 15.11.2015, 09:10   #6
clubuser
 
Регистрация: 13.11.2015
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ну я ж сказал что сделать надо.

А Average тут не нужен совсем, и вместо него ничего не нужно.
Я даже не заметил что я не закрыл цыкл. Спасибо

PHP код:
    static void Main()
    {
        
long inicialnumber long.Parse(Console.ReadLine());

        
long digit;
        
int count1count2answer;
        
count1 0;
        
count2 0;
        
answer 0;
        while (
inicialnumber 0)
        {
            
digit inicialnumber 10;

            if (
digit != 0)
                
count2++; 
            else
                
count1++; 
            
inicialnumber inicialnumber 10;

        }
            if (
count1 count2)
                
answer 2;
            if (
count2 count1)
                
answer 1;
            if (
count1 == count2)
                
answer 0;

            
Console.WriteLine("{0}"answer);

    } 
clubuser вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal|Определить, каких букв — гласных или согласных больше в тексте Dadni Паскаль, Turbo Pascal, PascalABC.NET 3 04.10.2015 12:32
Определить каких чисел в целочисленной последовательности больше:четных или кратных 3 naty7773 Помощь студентам 4 18.12.2012 12:01
Замена чётных чисел в массиве СИ DesignFootball.Ru Помощь студентам 10 13.11.2011 14:12
Элемент массива с максимальным кол-вом чётных цифр. Faxford Помощь студентам 2 20.06.2011 19:19
цикл for to do, или как отобразить сумму всех чётных трёхзначных чисел которые делятся на 7 (Delphi 6) Lorden Помощь студентам 9 23.12.2008 18:50