static int EvaluateExpression(string formula)
{
string[] numbers = formula.Split(new char[] { '+', '-' }).Where(e=>e.Trim() != "").ToArray();
string[] symbols = Regex.Matches(formula, "[+-]").Cast<Match>().Select(e => e.Value).ToArray();
if(numbers.Length != symbols.Length+1)
throw new FormatException("Не верное количество знаков");
int result;
int i = -1;
try
{
result = int.Parse(numbers[0]);
for (i = 0; i < symbols.Length; i++){
switch(symbols[i])
{
case "+":
result += int.Parse(numbers[i+1]);
break;
case "-":
result -= int.Parse(numbers[i+1]);
break;
}
}
}catch(FormatException e){
throw new FormatException(String.Format("Не верное число '{0}'", numbers[i+1]));
}
return result;
}
double getRand(){//возвращает рандом от 0 до 1
return (double)rand()/(double)RAND_MAX;
}
string ChanceItemDrop(){
string itemsRandom[] = {
"a", "b", "c", "d", "e"
};
float itemsChance[] = {
.30f, .80f, .50f, .30f, .40f //шансы от 0 до 1, 1 -100% , 0 - 0%
};
int arrLen = sizeof(itemsChance)/sizeof(*itemsChance);
double r;
int arrSize;
do{
r = getRand();
arrSize = 0;
for(int i=0;i < arrLen;i++)
arrSize += r <= itemsChance[i]?1:0;
}while(arrSize == 0);
int* inxs= new int[arrSize];
for(int i=0,p = 0;i < arrLen;i++)
if(r <= itemsChance[i])
inxs[p++] = i;
string result = itemsRandom[inxs[(int)floor(getRand()*arrSize)]];
free(inxs);
return result;
}
$(".widget.widget_nav_menu").each(function(i,el){
$(el).find('.aside__title').attr("rel", $(el).find('.aside__title').siblings().prop('id'));
})
namespace ConsoleApplication1{
class Program{
static void Main(string[] args){
var file = File.Open(@"D:\myfile.exe", FileMode.Open);
var byteLen = file.Length;
int size = (int)Math.Floor(Math.Sqrt(byteLen / 4));
Bitmap bm = new Bitmap(size,size);
for (int y = 0; y < size ; y++){
for (int x= 0; x < size ; x++){
byte[] rgba = new byte[]{ 0xFF,0xFF,0xFF, 0xFF};
short cnt = 0;
while (cnt < 4 && file.CanRead){
byte[] buff= new byte[1];
file.Read(buff,0,1);
rgba[cnt++] = buff[0];
}
bm.SetPixel(x, y, Color.FromArgb(rgba[0], rgba[1], rgba[2], rgba[3]));
}
}
file.Close();
var saveFile = File.Open(@"D:\myimg.png", FileMode.Create);
bm.Save(saveFile,ImageFormat.Png);
saveFile.Close();
}
}
}
var canvas = getElementByID('GameCanvas');
var canvas = document.getElementById('GameCanvas');
alert(mergesort([10,9,8,232,437,6,5435,4,3]));//пример
function mergesort(m){
return m.length <= 1? m: merge(mergesort(m.splice(0,Math.floor(m.length / 2))), mergesort(m.splice(0)))
}
function merge(left,right){
var result = [];
while (left.length > 0 && right.length > 0){
if (left[0] <= right[0]){
result.push(left[0]);
left.splice(0,1);
}
else{
result.push(right[0]);
right.splice(0,1);
}
}
return result.concat(left).concat(right);
}
function sortList(){
document.querySelectorAll(".items").forEach(itemsCont=>{
var items = Array.from(itemsCont.querySelectorAll("li"));
var arr = [];
items.forEach(el=>arr.push(parseInt(el.getAttribute("data-sort"))));
arr = mergesort(arr);
//arr = arr.sort(); //Лучше использовать sort вместо mergesort, работает примерно в 20 раз быстрее, проверено
arr.reverse().forEach(inx=>{
itemsCont.prepend(items.find((el,i,arra)=>{
if(el.getAttribute("data-sort") == inx){
items.splice(i,1);
return el;
}
}));
});
});
}
var arr1 = [{
"id": 1,
"parent_id": null,
"children": [{
"id": 2,
"parent_id": 1,
"children": []
},
{
"id": 3,
"parent_id": 1,
"children": [{
"id": 4,
"parent_id": 3,
"children": []
}]
}
]
}];
recBuild(document.querySelector("#organisation"),arr1);
function recBuild(parentUl,arr){
arr.forEach((el)=>{
var li = document.createElement("li");
li.innerHTML = el.id;
if(el.children.length > 0 ){
var ul = document.createElement("ul");
recBuild(ul,el.children);
li.append(ul);
}
parentUl.appendChild(li);
});
}
<ul id="organisation"></ul>
$('.btn').on('click', function(ev){
var yratext = /[':', 'A-Z', 'a-z', '\\', '//','%$@#№^&*();|<>+={}']/;
if ( $('.input_1').val() === '' && $('.input_2').val() === '' )
{
$('.message').text('Поле не может быть пусто!');
}
else if ( $('.input_1').val() !== '' && $('.input_1').val().length <= 6)
{
$('.message').text('Длинна должна быть не меньше 6-ти символов!');
}
else if ( $('.input_2').val() !== '' && $('.input_2').val().length <= 6)
{
$('.message').text('Длинна должна быть не меньше 6-х символов!');
}
else if ( $('.input_1').val() !== '' && yratext.test( $('.input_1').val() ) )
{
$('.message').text('Вы используете запрещенные символы!');
}
else if ( $('.input_1').val() !== '' && yratext.test( $('.input_1').val() ) )
{
$('.message').text('Вы используете запрещенные символы!');
}
else{
$('.message').text('');
return true;
}
ev.preventDefault();
return false;
});
var intval = Convert.ToInt64(myobject);
(long)myobject
function t10() {
for(let key in card) {
localStorage.setItem(key, parseInt(localStorage.getItem(key) || 0) + parseInt(card[key]));
}
t11()
}
function t11() {
let out = document.querySelector('.out-10');
out.innerHTML = "";
let table = document.createElement('table');
out.append(table);
for(var key in card) {
tr = document.createElement('tr');
table.append(tr);
var td1 = document.createElement('td');
td1.innerHTML = key;
tr.append(td1);
var td2 = document.createElement('td');
td2.innerHTML = localStorage.getItem(key) || 0;
tr.append(td2);
}
}
class LongNumber
{
public static readonly String[] symbols = { " ", "k", "m", "b", "$", "!", "#" };
List<short> values = new List<short>();
public LongNumber(){
foreach(var s in symbols )
values.Add(0);
}
public string getValue(bool isFull = false){//true полный вывод, false только более
if (isFull)
return String.Join(" ",values.Select((v, i) => v + symbols[i]));
var inx = symbols.Length;
while(inx > 0 && values[--inx] == 0){};
return String.Format("{0} {1}", values[inx], symbols[inx]);
}
public LongNumber add(long value, String sym = " "){//добавить
if (value < 0){
sub(-value);
return this;
}
if (!symbols.Contains(sym))
throw new FormatException("Неизвестный символ");
var inx = symbols.ToList().IndexOf(sym);
value += values[inx];
values[inx] = Convert.ToInt16(value % 1000);
if (value >= 1000)
{
if (inx == symbols.Length - 1)
throw new OverflowException("Достинуто максимально большое значение");
add(Convert.ToInt64(Math.Floor((double)value / 1000)), symbols[inx + 1]);
}
return this;
}
public static LongNumber valToNumber(long val,string sym = " "){//Число в LongNumber
return new LongNumber().add(val,sym);
}
public bool isLarger(LongNumber ln){//Сравнение , true если this больше
for (int i = values.Count - 1; i >= 0; i--)
if (values[i] > ln.values[i])
return true;
else if (values[i] < ln.values[i])
break;
return false;
}
public LongNumber sub(long value, String sym = " "){//вычесть
if (value < 0){
add(-value);
return this;
}
if (!symbols.Contains(sym))
throw new FormatException("Неизвестный символ");
if(LongNumber.valToNumber(value,sym).isLarger(this))
throw new OverflowException("Вычитаемое число больше");
var inx = symbols.ToList().IndexOf(sym);
value = values[inx] - value;
values[inx] = Convert.ToInt16(value%1000);
if (value < 0){
if (values[inx] < 0)
values[inx] += 1000;
sub(Convert.ToInt64(Math.Ceiling(Math.Abs((double)value / 1000))), symbols[inx + 1]);
}
return this;
}
}
class Program
{
static void Main(string[] args)
{
LongNumber ln = new LongNumber();
Console.WriteLine(ln.getValue());
ln.add(1000);
Console.WriteLine(ln.getValue());
ln.add(123456);
Console.WriteLine(ln.getValue(true));
ln.add(1000,"m");
Console.WriteLine(ln.getValue(true));
ln.sub(124456);
Console.WriteLine(ln.getValue(true));
ln.sub(1,"b");
Console.WriteLine(ln.getValue(true));
ln.add(1234564564);
Console.WriteLine(ln.getValue(true));
ln.sub(234565000);
Console.WriteLine(ln.getValue(true));
ln.sub(999999564);
Console.WriteLine(ln.getValue(true));
ln.sub(-123);
Console.WriteLine(ln.getValue());
ln.add(-123);
Console.WriteLine(ln.getValue());
Console.ReadKey();
}
}
0
1 k
456 124k 0m 0b 0$ 0! 0#
456 124k 0m 1b 0$ 0! 0#
0 0k 0m 1b 0$ 0! 0#
0 0k 0m 0b 0$ 0! 0#
564 564k 234m 1b 0$ 0! 0#
564 999k 999m 0b 0$ 0! 0#
0 0k 0m 0b 0$ 0! 0#
123
0
echo hasRec($arr) ? "тут рекурсия":"тут нет рекурсий";
function hasRec($arr){
ob_start();
var_dump($arr);
return preg_match("/^\s*\*RECURSION\*\s*$/umi",ob_get_clean());
}