0 / 0 / 0
Регистрация: 30.12.2018
Сообщений: 21
|
|
1 | |
Обращение к классу (объясните как это работает )30.12.2018, 14:43. Показов 2768. Ответов 10
0
|
30.12.2018, 14:43 | |
Ответы с готовыми решениями:
10
объясните как это работает Объясните, как это работает? Объясните как это работает объясните грамотно как это работает |
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
|
|
30.12.2018, 15:23 | 2 |
Andersen99, по-разному можно передать. Неплохо бы на код глянуть
0
|
Модератор
|
|
30.12.2018, 15:34 | 3 |
Вариантов много.
И из Вашего объяснения, мне кажется, Вы не понимаете разницу между классами и объектами (экземплярами) этого класса. Класс один, а его экземпляров может быть множество. Поэтому разъясните. Если Вы пишите именно о классе, то это значит Вы пишите о статических переменных и их значениях. Обратиться к статической переменной можно из любого места приложения по имени её класса. Если Вам надо передать значение из экземпляра одного класса в экземпляр другого класса и этих экземпляров только по одному, то это тоже можно сделать через статические поля классов. Если же экземпляров много, то тогда надо передавать между экземплярами или ссылку друг на друга (это можно сделать, допустим, в конструкторе), или создать, соответствующие, методы в классах (статические или динамические) через которые объекты смогут обращаться к друг другу.
0
|
0 / 0 / 0
Регистрация: 30.12.2018
Сообщений: 21
|
||||||
30.12.2018, 17:08 [ТС] | 4 | |||||
там конечно коряво
про статические переменные
0
|
1519 / 478 / 126
Регистрация: 09.01.2018
Сообщений: 1,244
|
|||||||||||
30.12.2018, 17:21 | 5 | ||||||||||
Сообщение было отмечено Andersen99 как решение
Решение
Об этом речь видимо?
1
|
0 / 0 / 0
Регистрация: 30.12.2018
Сообщений: 21
|
|
30.12.2018, 17:41 [ТС] | 6 |
глупый конечно вопрос был ,но спасибо что ответили .теперь осталось ошибку найти в коде
0
|
0 / 0 / 0
Регистрация: 30.12.2018
Сообщений: 21
|
|
04.01.2019, 14:12 [ТС] | 7 |
Может кто глянуть код в чём ошибка то ?завершает прогу аварийно[8208] dotnet.exe
Добавлено через 10 минут Можете код посмотреть ?
0
|
1519 / 478 / 126
Регистрация: 09.01.2018
Сообщений: 1,244
|
|||||||||||
05.01.2019, 00:03 | 9 | ||||||||||
Там миллион циклов. Можно немного попроще.
Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
Код
1.Метод Виженера 2.Метод Цезаря 3.Метод Гронсфельдa Выберите метод шифрования: Шифрование Введите ключ: киберфорум Введите текст для шифрования: помогите найти ошибку в коде щцнууьах щксун вжшфцэ г ъвтх Дешифрование Введите ключ: киберфорум Введите текст для дешифрования: щцнууьах щксун вжшфцэ г ъвтх помогите найти ошибку в коде
1
|
0 / 0 / 0
Регистрация: 30.12.2018
Сообщений: 21
|
|
05.01.2019, 11:50 [ТС] | 10 |
боюсь такой код я не объясню преподавателю ,ошибка где то в классе виженера он вроде до конца проходит всё но результат не выводит
0
|
1519 / 478 / 126
Регистрация: 09.01.2018
Сообщений: 1,244
|
|
05.01.2019, 17:32 | 11 |
Честно, мне проще обяснить вам как работает код в моем примере, чем попытаться разобраться в вашем алгоритме для той же цели.
В основе лежит все та же таблица Вижинера (с нулевым смещением). Только составлять ее нет необходимости. По сути по таблице определяется смещение. Это самое смещение можно вычислить по номеру строки. Например, буква 't' и символ ключа 'd'. Если пройти по таблице к пересечению столбца 't' и строки 'd', то станет ясно, что там находится символ, отличающийся от 't' на смещение +3 (a-[0], b-[1], c-[2], d-[3]). И также в любой другой ячейке таблицы. При этом, увеличивая символ на заданное смещение, имеется риск получить символ, находящийся за верхней границей алфавита. Например, в результате смещения получен символ 1104, но последний символ - это 1103 (буква 'я'). В таком случае, чтобы ряд продолжился от начального символа, 1104 должен стать символом 1072 (буква 'а'). Вычитаем из полученного символа длину алфавита (32) и получим нужный результат (1104 - 32 = 1072). Итак, смещение мы теперь можем вычислить по ключу, не составляя таблицы. Для этого понадобится только номер строки. Номер строки можно вычислить из символа ключа, вычитая из него код первого символа алфавита. Например, символ ключа - 1074 ('в'). Первый символ алфавита это 1072. 1074 - 1072 = 2. Т.е. это строка № 2 (а-[0], б-[1], в-[2]). И смещение, следовательно тоже составляет 2. Осталось определить символ ключа, соответствующий символу исходного текста. В оригинале для этого требуется записывать ключ до тех пор, пока его длина не станет равной длине исходного текста. В этом тоже нет необходимости. Символы ключа известны и все они циклически повторяются. Т.е. можно просто взять остаток от деления на длину ключа и таким образом вычислить какой символ ключа будет соответствовать индексу символа исходного текста. Например, индекс символа исходного текста - 10. Длина ключа - 6. Остаток от деления 10 на 6 составит 4. Значит это 4-й символ ключа. 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 0 1 2 3 4 Ну и все, остальное все в коде. Определяем границы алфавита (1072 - 1103). Это десятичные коды символов русского алфавита а - я (UTF-8). В дальнейшем работаем с этими кодами, при необходимости преобразуем их в символы. Определяем длину алфавита - это 32 (без буквы ё). Приводим исходный текст и ключ к нижнему регистру. Идем циклом по исходному тексту. Выполняем проверку, на то что символ входит в заданный алфавит. Если не входит - не шифруем его, передаем как есть (если в тексте встретятся пробелы, запятые, двоеточия, цифры, в общем любые другие символы - оставляем их как есть). Вычисляем индекс ключа, по индексу забираем символ ключа, вычисляем по нему номер строки (а по сути само смещение) и вычисляем итоговый символ. Результат добавляем в строку res. Возвращаем результат. Добавлено через 25 минут Да, может оказаться так, что символ ключа не входит в алфавит и соответственно нельзя определить номер строки (такой строки в таблице просто нет). На этот случай можно проверять ключ и отвергать в случае несоответствия. В примере я поступил проще - беру последнюю строку таблицы.
0
|
05.01.2019, 17:32 | |
05.01.2019, 17:32 | |
Помогаю со студенческими работами здесь
11
Объясните не понимаю как это работает Объясните пожалуйста, как работает это приложение Уважаемые гуру! Объясните плиз как это работает? Объясните как работает это программа, по строчно! Пожалуйста C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
|
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
|
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
|
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
|
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
|
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
|
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач.
. . .
|
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
|
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
|
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
|
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
|
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
|