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

Даны k (k > 1) натуральных n. На C# заранее спасибо

14.11.2013, 20:36. Показов 2706. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны k (k > 1) натуральных n. Выбросить из записи числа n цифры 0 и 2, оставив прежним порядок остальных цифр.
Пример: 590125012
Организовать в меню программу 2-х уровневое.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2013, 20:36
Ответы с готовыми решениями:

Заранее спасибо за ответ
Имеются данные о квартирах в новом строящемся доме: номер квартиры, этаж, общая площадь, количество комнат, стоимость квадратного метра...

Помощь, заранее спасибо!
Помогите пожалуйста сделать задание, заранее спасибо, очень нужно для меня) Таблица поставщиков (S) ...

МаССивы маТРицы заранее спасибо=)+

24
 Аватар для memphis
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 564
14.11.2013, 21:55
Jackpot, выбросить из числа цифры вам поможет эта тема Вывод заданного числа(с конца) в массив по одному элементу
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.11.2013, 03:00
Без массивов:
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
/// <summary>
/// Функция удаляет из целого 32-битного числа указанные цифры, сохраняя порядок остальных.
/// </summary>
/// <param name="num">Целое 32-битное число</param>
/// <param name="remove">Цифры, которые нужно удалить</param>
/// <returns>Целое число, не содержащее указанных цифр, но с тем же порядком оставшихся.</returns>
static int RemoveDigits(int num, params int[] remove)
{
    int digit, pow, result = 0;
    do
    {
        pow = DigitCount(num) - 1;
        digit = num / (int)Math.Pow(10, pow);
 
        if (!remove.Contains(digit))
            result = result * 10 + digit;
 
        num -= digit * (int)Math.Pow(10, pow);
    } while (pow != 0);
 
    return result;
}
/// <summary>
/// Функция вычисляет количество цифр в заданном целом 32-битном числе
/// </summary>
/// <param name="n">Целое 32-битное число</param>
/// <returns>Количество цифр в указанном числе</returns>
static int DigitCount(int n)
{
    return ((int)(n / 10) == 0) ? 1 : 1 + DigitCount(n / 10);
}
Ну а меню уже сам приделай. Интересно было бы сравнить производительность с массивом
1
 Аватар для SyxaRuk
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 51
15.11.2013, 16:35
Подскажите пожалуйста, а как ввести число? тут же нет Console.WriteLine(). У меня похожая задача, а ввести число не могу.
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
15.11.2013, 16:45
так добавьте сами ввод чисел... и не забывайте, что там только функции, которые вам будет необходимо вызвать в своей программе
0
 Аватар для SyxaRuk
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 51
15.11.2013, 16:48
Я новичок в программировании, не могу разобраться, у меня постоянно кучи ошибок вылазят. Если бы у меня получилось, я бы выложил, а так не могу(((
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.11.2013, 17:24
Я тут подумал и понял, что мой код будет удалять нули всегда. Что не есть "гут". После недолгих размышлений родился такой, более короткий вариант:
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
/// <summary>
/// Функция удаляет из целого 32-битного числа указанные цифры, сохраняя порядок остальных.
/// </summary>
/// <param name="num">Целое 32-битное число</param>
/// <param name="remove">Цифры, которые нужно удалить</param>
/// <returns>Целое число, не содержащее указанных цифр, но с тем же порядком оставшихся.</returns>
static int RemoveDigits(int num, params int[] remove)
{
    int digit, pow, result = 0;
    pow = 0;
    do
    {
        digit = num % 10;
 
        if (!remove.Contains(digit))
        {
            result = result + digit * (int)Math.Pow(10, pow);
            pow++;
        }
 
    } while ((num /=10)!=0);
 
    return result;
}
Пример использования (удалит из введённого числа цифры 1, 2, 3)

Не по теме:

Чему же вас учат, если вы даже готовую функцию не можете использовать?


C#
1
2
3
4
5
6
7
static void Main(string[] args)
{
    Console.WriteLine("Введите целое число: ");
    int n;
    n= int.Parse(Console.ReadLine());
    Console.WriteLine("Ответ: {0}", RemoveDigits(n,1,2,3));
}
0
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 11
15.11.2013, 21:24  [ТС]
Не работает. Запускаю высвечивает и больше не чего.
0
 Аватар для SyxaRuk
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 51
15.11.2013, 21:48
Огромное спасибо, теперь я понял, просто не очень понятно как со статическими методами работать)))

Цитата Сообщение от ViterAlex Посмотреть сообщение
Чему же вас учат, если вы даже готовую функцию не можете использовать?
Я ж только учусь!))
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.11.2013, 21:52
Цитата Сообщение от SyxaRuk Посмотреть сообщение
не очень понятно как со статическими методами работать
А с какими понятно как работать? вот уж как раз со статическими должно быть всё понятно.
1
 Аватар для SyxaRuk
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 51
15.11.2013, 22:13
Цитата Сообщение от ViterAlex Посмотреть сообщение
А с какими понятно как работать? вот уж как раз со статическими должно быть всё понятно.
я всегда писал только в методе void, а как вызывать из метода в метод не знал, щас классы пошли....непонятно стало
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.11.2013, 22:23
Каша в голове.
void это не метод, а тип. Указывает, что метод, не возвращает никакого значения.
static - это модификатор, который указывает, что метод вызывается из самого класса, а не из его экземпляра
1
 Аватар для SyxaRuk
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 51
15.11.2013, 22:34
Спасибо, что объяснили. А то курс лекций большой, а времени на их изучение мало. Ну а самому изучать не получается, много вопросов.

Добавлено через 2 минуты
Цитата Сообщение от ViterAlex Посмотреть сообщение
Каша в голове.
void это не метод, а тип. Указывает, что метод, не возвращает никакого значения.
static - это модификатор, который указывает, что метод вызывается из самого класса, а не из его экземпляра
то есть в void не может быть return? правильно я понял?
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.11.2013, 22:36
Цитата Сообщение от SyxaRuk Посмотреть сообщение
то есть в void не может быть return? правильно я понял?
да, правильно
0
 Аватар для SyxaRuk
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 51
15.11.2013, 22:51
Цитата Сообщение от ViterAlex Посмотреть сообщение
да, правильно
Спасибо! А то я как-то пихал return в одной из задач и не мог понять, почему ошибку светит
0
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 11
16.11.2013, 06:37  [ТС]
что значит эта строка? !remove.Contains(digit)
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
16.11.2013, 07:01
remove - это целочисленный массив, содержащий цифры, которые нужно удалить
digit - текущая цифра
Таким образом,
C#
1
!remove.Contains(digit)
означает: "если remove не содержит digit"
1
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 11
16.11.2013, 10:12  [ТС]
что значит эта строка: !remove.Contains(digit)
0
 Аватар для SyxaRuk
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 51
16.11.2013, 12:50
Цитата Сообщение от ViterAlex Посмотреть сообщение
означает: "если remove не содержит digit"
У меня вопрос по поводу "Contains". Полистал учебник, не нашёл, это что-то оператора foreach? Как оно тогда работает.
Теоретически то понятно, но почему тогда нет в учебнике, непонятно?
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
16.11.2013, 20:28
Это метод из LINQ. Поскольку любой массив реализует интерфейс IEnumerable, то для работы с ним можно использовать LINQ. Я использовал его здесь для краткости кода, хотя при обучении лучше самому написать метод, проверяющий наличие в массиве элемента с заданным значением
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2013, 20:28
Помогаю со студенческими работами здесь

Пожалуйста, вычислите. Заранее спасибо
Газ Ацетон при температуре T=473 K, имеет удельную теплоемкость при постоянном давлении C=1787, если давление газа Р=1.8*10^5 Па, найти...

Сделайте пожалуйста.Заранее спасибо
ng

кто может , заранее спасибо
Написать функцию resort(int &amp;a, int &amp;b, int &amp;c), которая сортирует значения a, b, c так, что в a находится минимальное значение, а в c...

Найти вероятность. Заранее спасибо
Институт выпускает 80% специалистов высокого класса. Найти вероятность того, что среди 5000 выпущенных специалистов окажется 3700 высокого...

Напищите программу. Заранее спасибо
На вход программе подается целое число N – число вводимых далее чисел. Затем вводятся N целых чисел. Необходимо сохранить введенные числа...


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

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

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru