С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
valery_sol19
0 / 0 / 0
Регистрация: 30.11.2017
Сообщений: 9
1

Соединить две программы в одну

27.05.2018, 22:25. Просмотров 956. Ответов 18
Метки нет (Все метки)

Определить сумму и количество цифр числа.
Сумма цифр:
C#
1
2
3
4
5
6
7
8
9
10
11
12
Console.Write("Введите число : ");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Сумма цифр: ");
            int i = 0;
            while (a > 0)
 
            {
                i = i + a % 10;
                a = a / 10;
            }
            Console.WriteLine(i);
            Console.Read();
Количество цифр:
C#
1
2
3
4
5
6
7
8
9
10
Console.Write("Введите число : ");
            int num = Convert.ToInt32(Console.ReadLine());
            int i = 0;
            while (num > 0)
            {
                i++;
                num /= 10;
            }
            Console.WriteLine("Количество цифр введенного числа : {0}", i);
            Console.Read();
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2018, 22:25
Ответы с готовыми решениями:

Как объединить две программы в одну?
надо что бы эти 2 программы запускались через консоль по очереди. {...

Соединить все строки в одну
Имеется переменная i. i = richTextBox1.Text; Текст в переменную загружается в...

Подскажите как быстро соединить две отсортированные коллекции
привет есть штук 10 коллекций объектов отсортированных по полю datatime...

Как наиболее быстро соединить все слова в одну строку через запятую?
Как по бистрому соеденить все слова в одну строку через кому? (можно через...

Соединить две точки двумя линиями, угол между которыми равен 90 градусов
Суть вопроса: есть 2 точки(допустим Point1(100,50) и Point2(200,100)), мне...

18
Bespridelschic
Eternal junior
262 / 231 / 110
Регистрация: 31.07.2013
Сообщений: 1,008
Завершенные тесты: 10
28.05.2018, 09:46 2
Лучший ответ Сообщение было отмечено valery_sol19 как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Console.Write("Введите число : ");
    int num = Convert.ToInt32(Console.ReadLine());
 
    int sum = 0;
    int count = 0;
    while (num > 0)
    {
        sum = sum + num % 10;
        count++;
        num /= 10;
    }
 
    Console.WriteLine("Количество цифр введенного числа : {0}", count);
    Console.WriteLine("Сумма цифр: " + sum);
 
    Console.ReadKey();
1
Zodt
156 / 79 / 69
Регистрация: 10.05.2014
Сообщений: 420
28.05.2018, 10:28 3
Bespridelschic, В вашем коде не учтено, что могут быть случайно введены другие символы, отличные от цифр - например: "123пр45".

valery_sol19,

C#
1
2
3
4
5
6
7
8
9
10
Console.Write("Введите число : ");
var num = Console.ReadLine();
 
var tmp = (num ?? "") //Проверка на непустоту поля. Если поле пустое, выводятся нули
          .ToCharArray() //Преобразование в символы
          .Where(char.IsDigit) //Проверка символов на соответствие цифрам 
          .Select(x => int.Parse(x.ToString())); //Приведение всех символов-цифр к типу int
Console.WriteLine("Sum: " + tmp.Sum()); //Вывод суммы символов-цифр
Console.WriteLine("Count: " + tmp.Count()); //Вывод количества символов-цифр
Console.ReadLine();
0
Bespridelschic
Eternal junior
262 / 231 / 110
Регистрация: 31.07.2013
Сообщений: 1,008
Завершенные тесты: 10
28.05.2018, 10:29 4
Цитата Сообщение от Zodt Посмотреть сообщение
В вашем коде не учтено, что могут быть случайно введены другие символы, отличные от цифр - например: "123пр45"
И? Задачи парсить строку и выдирать оттуда цифры - не стояло
0
Zodt
28.05.2018, 10:31
  #5

Не по теме:

Bespridelschic, ну все равно ведь доп. проверки всегда нужны, иначе программа ляжет, а это не есть хорошо

0
Bespridelschic
28.05.2018, 10:36
  #6

Не по теме:

Цитата Сообщение от Zodt Посмотреть сообщение
ну все равно ведь доп. проверки всегда нужны, иначе программа ляжет, а это не есть хорошо
В этом я с Вами согласен, но только не в рамках этой задачи. Одно дело приложение которым будут пользоваться (или нет :) ) люди, а другое - лабораторная работа, которая дальше демонстрации преподавателю не уйдёт.

Если уж и проводить проверку в этой задаче, то можно банально использовать int.Parse(), обернув его в try catch, бесконечно повторяя ввод до тех пор, пока не будет введено число

0
Usaga
28.05.2018, 10:45
  #7

Не по теме:

Цитата Сообщение от Bespridelschic Посмотреть сообщение
то можно банально использовать int.Parse(), обернув его в try catch,
Может лучше Int32.TryParse?

0
Bespridelschic
28.05.2018, 10:48
  #8

Не по теме:

Цитата Сообщение от Usaga Посмотреть сообщение
Может лучше Int32.TryParse?
TryParse() вернёт 0 в случае проблемы, а Parse() кинет исключение

0
Usaga
28.05.2018, 10:53
  #9

Не по теме:

Bespridelschic, TryParse() вернёт false в случае неуспеха, что можно сразу отследить, а не ловить исключения (фу-фу-фу).

0
Bespridelschic
28.05.2018, 10:56
  #10

Не по теме:

Цитата Сообщение от Usaga Посмотреть сообщение
TryParse() вернёт false в случае неуспеха, что можно сразу отследить, а не ловить исключения (фу-фу-фу).
Да, совсем забыл что TryParse() возвращает false. Согласен с Вами, такой вариант будет лучше

0
Zodt
28.05.2018, 12:13
  #11

Не по теме:

Bespridelschic, просто у меня бзик на проверки (спасибо нынешней работе=) ) Не важно какой код, если нет проверок - код не рабочий=)

0
Bespridelschic
28.05.2018, 12:18
  #12

Не по теме:

Цитата Сообщение от Zodt Посмотреть сообщение
просто у меня бзик на проверки (спасибо нынешней работе=) ) Не важно какой код, если нет проверок - код не рабочий=)
Если разбираться - то это хороший бзик. Но и не стоит зарываться, а то некоторые любят лепить приложения уровня hello world, пытаясь по максимуму запихать всевозможные проверки и паттерны, которым там не место. Потом аргументируют что, дословно - "за то гибко" :D

0
Usaga
28.05.2018, 12:18
  #13

Не по теме:

Zodt, это очень хороший бзик, не надо с ним бороться.

0
Zodt
28.05.2018, 12:57
  #14

Не по теме:

Bespridelschic, к тому же никогда не понимал таких преподов, которые дают какие-то левые задачки, которые так далеки от того, что действительно бывает необходимо. Если все знают, что проверки нужны всегда и везде, почему преподы как раз таки на них упор и не делают? Просто у меня был случай на прошлой работе - пришел стажер на****л поломал нам весь код (привет NRE). После недельного разбирательства оказалось, что он вообще никаких проверок не делал, и с таким умным видом говорил, мол "меня такому не учили"

0
Usaga
Эксперт .NET
5139 / 3500 / 616
Регистрация: 21.01.2016
Сообщений: 13,915
Завершенные тесты: 2
28.05.2018, 13:06 15

Не по теме:

Zodt, это не в преподах дело, а в студентоте, которая и без проверок-то толком сделать ничего не в состоянии. Вы сами по темам походите, да посмотрите. Каждый второй на замечание о том, что код неэффективен\ненадёжен, заявляет, что пофиг, лишь бы заработало и препод принял. Ну и чего ожидать от таких людей потом?



Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Zodt Посмотреть сообщение
После недельного разбирательства оказалось, что он вообще никаких проверок не делал, и с таким умным видом говорил, мол "меня такому не учили"
А это контора сама себе подставу сделала, раз код джуна никто не ревьювил.

0
Bespridelschic
28.05.2018, 13:10
  #16

Не по теме:

Zodt, тут скорее дело в самом персонаже, который впитывает знания. Преподаватель - человек простой, ему нужно объяснить сразу всем, а эти все обычно очень разного уровня. Кто то схватывает на лету, а кто то не может понять почему не комплируется код вида:

C#
1
If (True) {} Else
Так же, некоторые преподаватели занимаются научной деятельностью, где проверки в принципе вредны

0
Zodt
156 / 79 / 69
Регистрация: 10.05.2014
Сообщений: 420
28.05.2018, 13:15 17

Не по теме:

Цитата Сообщение от Usaga Посмотреть сообщение
Каждый второй на замечание о том, что код неэффективен\ненадёжен, заявляет, что пофиг, лишь бы заработало и препод принял. Ну и чего ожидать от таких людей потом?
Так это потому что не только студентам но еще и преподам глубоко по барабану какой код пишут студенты. И ладно, если бы это было когда программирование не профильный предмет, но ведь это и на профильных встречается чуть чаще чем постоянно.
Я бы будучи преподом ставил бы жесткие рамки того, что должно быть в коде и чего там НЕ должно быть.

Цитата Сообщение от Usaga Посмотреть сообщение
А это контора сама себе подставу сделала, раз код джуна никто не ревьювил.
Тут согласен полностью (одна из причин почему я от туда ушел кстати). Там главное глупый табурет ТЛ настаивал, что со стороны джуна проблем быть не может, ибо он весь из себя такой умный все дела.



Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Bespridelschic Посмотреть сообщение
Так же, некоторые преподаватели занимаются научной деятельностью, где проверки в принципе вредны
не могу представить себе ни одного случая, где проверки могут быть вредны, если честно)

0
Bespridelschic
28.05.2018, 13:20
  #18

Не по теме:

Цитата Сообщение от Zodt Посмотреть сообщение
не могу представить себе ни одного случая, где проверки могут быть вредны, если честно)
Написал программу на ~200 строк на C++, занёс туда значения, и ждёшь пока посчитает пару дней :) Там в принципе известны входные значения, а расчёт происходит по определенной модели

0
Usaga
28.05.2018, 13:23     Соединить две программы в одну
  #19

Не по теме:

Цитата Сообщение от Zodt Посмотреть сообщение
Так это потому что не только студентам но еще и преподам глубоко по барабану какой код пишут студенты. И ладно, если бы это было когда программирование не профильный предмет, но ведь это и на профильных встречается чуть чаще чем постоянно.
Я бы будучи преподом ставил бы жесткие рамки того, что должно быть в коде и чего там НЕ должно быть.
Преподы (скорее всего, это моё мнение) тупо выгорают, когда подавляющее большинство студентов - бараньё или им просто плевать и они пришли переждать 4-5 лет, кося от армии. Смысл таким что-то втолковывать? С другой стороны, деканат не даст "студентов" валить и строжить ибо это - бабло ВУЗ-а. Образование - вещь нужная, но и про экономическую составляющую забыть не стоит.

0
28.05.2018, 13:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2018, 13:23
Привет! Вот еще темы с ответами:

Две команды в одну кнопку
Здавствуйте! Помогите пож-ста. Как сделать чтобы после нажатияна кнопку....

Как поместить две информации в одну ячейку?
как поместить данные про двух животных разного пола в одну ячейку массива...

Как, имея две матрицы, одну записать в другую?
Доброго времени. Скажите пожалуйста, как имея 2 двухмерных массивов, один...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru