Как поменять местами буквы

  • Автор темы Автор темы Vinovnik
  • Дата начала Дата начала

Vinovnik

Client
Регистрация
10.08.2016
Сообщения
357
Реакции
107
Баллы
43
Здравствуйте, подскажите пожалуйста, как сделать такое?
Например есть слово "зеннопостер" нужно оставить не изменяя первую и последнюю букву, а те, что внутри рандомно перемешать? День мучаюсь ничего в голову не приходит?
 
C#:
Развернуть Свернуть Копировать
string word = "зеннопостер";

if(word.Length < 3)
    return word;
   
var r = new Random();
var arr = word.Substring(1, word.Length - 2).OrderBy(x => r.Next()).ToArray();

var shuffleString = word[0] + new String(arr) + word[word.Length - 1];

project.SendInfoToLog(shuffleString, true);
 
C#:
Развернуть Свернуть Копировать
string word = "зеннопостер";

if(word.Length < 3)
    return word;
  
var r = new Random();
var arr = word.Substring(1, word.Length - 2).OrderBy(x => r.Next()).ToArray();

var shuffleString = word[0] + new String(arr) + word[word.Length - 1];

project.SendInfoToLog(shuffleString, true);
спасибо, но как взять с переменной и положить назад результат, я в коде слабоват. в логе изменения увидел.
 
спасибо, но как взять с переменной и положить назад результат, я в коде слабоват. в логе изменения увидел.
C#:
Развернуть Свернуть Копировать
var myVar = project.Variables["ИМЯ_ВАШЕЙ_ПЕРЕМЕННОЙ"];

string word = myVar.Value;

if(word.Length < 3)
    return word;
   
var r = new Random();
var arr = word.Substring(1, word.Length - 2).OrderBy(x => r.Next()).ToArray();

var shuffleString = word[0] + new String(arr) + word[word.Length - 1];

myVar.Value = shuffleString;
 
  • Спасибо
Реакции: Vinovnik
C#:
Развернуть Свернуть Копировать
var myVar = project.Variables["ИМЯ_ВАШЕЙ_ПЕРЕМЕННОЙ"];

string word = myVar.Value;

if(word.Length < 3)
    return word;
  
var r = new Random();
var arr = word.Substring(1, word.Length - 2).OrderBy(x => r.Next()).ToArray();

var shuffleString = word[0] + new String(arr) + word[word.Length - 1];

myVar.Value = shuffleString;
СПАСИБО!!!
 
  • Спасибо
Реакции: shtift
а можно сделать так, чтобы не менялись две первые и две последние буквы?
C#:
Развернуть Свернуть Копировать
var myVar = project.Variables["ИМЯ_ВАШЕЙ_ПЕРЕМЕННОЙ"];

string word = myVar.Value;

if(word.Length < 3)
    return word;
  
var r = new Random();
var arr = word.Substring(1, word.Length - 2).OrderBy(x => r.Next()).ToArray();

var shuffleString = word[0] + new String(arr) + word[word.Length - 1];

myVar.Value = shuffleString;
 
а можно сделать так, чтобы не менялись две первые и две последние буквы?
Тебе надо делать ошибки в тексте? Есть на форуме снипет для этого, можно задавать процент ошибок, он еще и сам пишет))
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)