Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 14.03.2017
Сообщений: 57

Детерминированные способы перемешивания данных

07.02.2019, 20:30. Показов 692. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужен принцип перемешивания данных (строк) с целью последующего восстановления, простой сдвиг не подойдет т.к. слишком элементарно. Планировал использовать подобие S-блока, но получается слишком загружено. Есть творческие предложения?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.02.2019, 20:30
Ответы с готовыми решениями:

Способы шифрование данных. Передача данных на сервер в зашифрованном виде
Всем привет Хотелось бы услышать мнение опытных программистов о методах шифрования или о способах передачи данных от программы до сайта в...

Детерминированные циклы
Здравствуйте. Я студент-заочник...с языком С++ не работал раньше, поэтому не знаю его вообще... Мне по заданию Дано натуральное число N и...

Способы хранения данных в реляционных базах данных
Здравствуйте. Есть заполненная таблица в БД. После загрузки данных в базу требуется выполнить следующие запросы для каждого способа...

3
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
07.02.2019, 21:36
Цитата Сообщение от Jereeko Посмотреть сообщение
Детерминированные способы перемешивания данных
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
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
 
namespace ConsoleApplication239
{
    public class Program
    {
        static void Main(string[] args)
        {
            var str = "fox jump over the lazy dog";
            var encoded = Shuffle(str, 4343).ToArray();
 
            Console.WriteLine("Source: " + str);
            Console.WriteLine("Shuffled: " + new string(encoded));
            Console.ReadLine();
        }
 
        private static IEnumerable<T> Shuffle<T>(IEnumerable<T> list, int key)
        {
            var rnd = new Random(key);
            return list.OrderBy(v => rnd.Next());
        }
    }
}
2
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
08.02.2019, 12:56
Цитата Сообщение от Jereeko Посмотреть сообщение
Нужен принцип перемешивания данных (строк) с целью последующего восстановления
Если именно со строками, то возьмите любой полиалфавитный шифр
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
08.02.2019, 15:17
Цитата Сообщение от Jereeko Посмотреть сообщение
Нужен принцип перемешивания данных (строк) с целью последующего восстановления
Разворачивая ответ товарища Storm23:
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
32
33
34
35
static void Main()
{
    var text = "fox jump over the lazy dog";
 
    int key = 4343;
    var chars = text.ToCharArray();
 
    Shuffle(chars, key);
    Console.WriteLine("Shuffled string: " + new string(chars));
 
    Deshuffle(chars, key);
    Console.WriteLine("Restored string: " + new string(chars));
}
 
static void Shuffle<T>(IList<T> list, int key)
{
    foreach (var (i, j) in EnumeratePermutations(list.Count - 1, key))
        (list[i], list[j]) = (list[j], list[i]);
}
 
static void Deshuffle<T>(IList<T> list, int key)
{
    foreach (var (i, j) in EnumeratePermutations(list.Count - 1, key).Reverse())
        (list[i], list[j]) = (list[j], list[i]);
}
 
static IEnumerable<(int, int)> EnumeratePermutations(int max, int key)
{
    var r = new Random(key);
    for (int i = max; i > 0; i--)
    {
        int j = r.Next(i);
        yield return (i, j);
    }
}
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.02.2019, 15:17
Помогаю со студенческими работами здесь

Детерминированные циклы. Вычислить значение выражения
Помогите выполнить задание по теме детерминированные циклы. Заранее спасибо. Вот само задание: Дано натуральное число N. Вычислить ...

Способы хранения данных
Здравствуйте! Есть программа, которая хранит в себе данные с интернета по датам (парсинг). Прога парсит страничку и сохраняет...

Способы передачи данных
Здесь мне сказали что способ передачи параметров string message, string filename и всё остальное в void.cpp функции не правильный, прошу...

Способы ввода данных
Заранее всем, кто откликнулся , спасибо! Такая проблемка: как ещё дать понять моей программке (пусть даже самой простой ) , что я...

Способы защиты данных
Здравствуйте, уважаемые форумчане. Хочу не много посоветоваться, прежде чем моя программа уйдёт в паблик. Моя программа осуществляем работу...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru