Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 13.09.2021
Сообщений: 19

Вычислить контрольный знак номера вагона

02.10.2021, 07:22. Показов 1459. Ответов 9
Метки java (Все метки)

Студворк — интернет-сервис помощи студентам
помогите написать программу для того чтобы вычислить контрольный знак номера вагона.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2021, 07:22
Ответы с готовыми решениями:

По заданному номеру вагона распечатать номера свободных мест
В поезде 18 вагонов по 30 мест в каждом. Информация о проданных на поезд билетах хранится в двумерном массиве, номера строк которого...

Сколько раз меняется знак в данной последовательности чисел? Запомнить номера позиций, в которых меняется знак
Помогите пожалуйста переделать программу. Вот задание для программы :Задан массив. Определить сколько раз меняется знак в данной...

Вычислить значение A=(знак (x)+знак(y)).
Вычислить значение A=(знак (x)+знак(y)). знак(x+y).Для определения знака написать функцию, равную - I,если знак ее аргумента меньше 0;+I,...

9
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38192 / 21125 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
02.10.2021, 07:45
А что это такое - контрольный знак?
0
0 / 0 / 0
Регистрация: 13.09.2021
Сообщений: 19
02.10.2021, 07:47  [ТС]
Код вагона включает в себя восемь чисел. Первые семь цифр кодируют данные о номере вагона. Крайнее 8-е число считается контрольным и предназначается для определения корректности номера.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.10.2021, 08:54
eugeniyshalkin, предлагаешь нам погадать - по какому алгоритму рассчитывается это число?
0
0 / 0 / 0
Регистрация: 13.09.2021
Сообщений: 19
02.10.2021, 09:03  [ТС]
Восьмая цифра - контрольная.
Контрольным числом - является число, дополняющее под разрядную сумму до ближайшего целого десятка. Если, под разрядная сумма кратна 10, то контрольный знак равен 0. В примере контрольным знаком будет 8.
Номер вагона 7 4 8 5 4 6 8
Множитель 2 1 2 1 2 1 2
Произведение 14 4 16 5 8 6 16
Сумма 1 + 4 + 4 + 1 + 6 + 5 + 8 + 6 + 1 + 6 = 42
до ближайшего целого числа не хватает 8, значит контрольный знак правильный.

Добавлено через 2 минуты
надеюсь понятно объяснил, если не сложно почитайте в интернете.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.10.2021, 09:36
Python
1
2
3
num = '7485468'
summ = sum(map(int, ''.join([f'{int(e) * ((i + 1) % 2 + 1)}' for i, e in enumerate(num)])))
print(10 - summ % 10 == int(num[-1]))
Добавлено через 7 минут

Не по теме:

Оу, щет, язык перепутал


1
 Аватар для Aviz__
2754 / 2061 / 509
Регистрация: 17.02.2014
Сообщений: 9,491
02.10.2021, 11:16
Цитата Сообщение от eugeniyshalkin Посмотреть сообщение
надеюсь понятно объяснил
в целом да, с 3-го прочтения понял. но почему именно такие множители?
Цитата Сообщение от eugeniyshalkin Посмотреть сообщение
почитайте в интернете.
когда мне мне будет надо, я прочту, а ща нужно тебе, братец.
0
0 / 0 / 0
Регистрация: 13.09.2021
Сообщений: 19
02.10.2021, 11:29  [ТС]
почему именно такие не знаю
сказали такая формула
0
 Аватар для Aviz__
2754 / 2061 / 509
Регистрация: 17.02.2014
Сообщений: 9,491
02.10.2021, 11:50
Цитата Сообщение от eugeniyshalkin Посмотреть сообщение
не знаю
ну вот и приехали((! а как же погуглить?
короче, самый простой алгоритм:
делаешь два массива интов размером 7. один для цифр другой для множителей, их перемножаешь, находишь сумму S. затем, для суммы, в цикле вайл, ищешь по десяткам число большее суммы D. D - S сравниваешь с последней цифрой. все!
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.10.2021, 12:03
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public static void main(String[] args) {
        String[] num = "7485468".split("");
        int sum = 0;
        int k = 2;
        for (int i = num.length - 1; i >= 0; i--) {
            int d = Integer.parseInt(num[i]) * k;
            while (d > 0) {
                sum += d % 10;
                d /= 10;
            }
            k = i % 2 + 1;
        }
        System.out.println(10 - sum % 10 == Integer.parseInt(num[num.length - 1]));
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.10.2021, 12:03
Помогаю со студенческими работами здесь

Удалить знак абзаца после номера
У меня 1000 страниц текста. Как автоматически сделать из этого вот так Сейчас я это делаю вручную: Del+Enter.

Вычислить количество положительных членов функции с номера 5 по 17 и с номера 8 по 20
Последовательность задана формулой C_I=(-1)^I (4I+1)/(2I+1). Вычислить количество положительных членов с номера 5 по 17 и с номера 8 по 20

Определить номера тех строк матрицы, у которых знак произведения их элементов отрицателен
Задана матрица с 2 столбцами и N строками. Определить номера тех строк, у которых знак произведения их элементов отрицателен.

Вычислить количество положительных членов с номера 5 по 17 и с номера 8 по 20
Последовательность задана формулой {C}_{I}={(-1)}^{I}\frac{4I+1}{2I+1} . Вычислить количество положительных членов с номера 5 по 17 и с...

Задана матрица А с 2 столбцами и 30 строками. Определить номера тех строк, у которых знак произведения их элементов
Задана матрица А с 2 столбцами и 30 строками. Определить номера тех строк, у которых знак произведения их элементов отрицателен. ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru