Skip to content

Instantly share code, notes, and snippets.

View rodion-m's full-sized avatar
🤩
CodeAliving

Rodion Mostovoi rodion-m

🤩
CodeAliving
View GitHub Profile
@rodion-m
rodion-m / EncodingDetector.cs
Created January 2, 2022 20:23
Encoding Detector (for corrupted zip files names for example)
using System.Text;
namespace ZipFilesEncodingFixer
{
public static class EncodingDetector
{
static EncodingDetector()
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
}
@rodion-m
rodion-m / RuSpeller.cs
Last active November 25, 2021 11:34
Russian numbers spelling with words
using System;
using System.Collections.Generic;
namespace Proj
{
public static class RuSpellingExtensions
{
private static readonly Dictionary<string, string[]> spellDb = new Dictionary<string, string[]>()
{
//1 2 10
@rodion-m
rodion-m / null_vs_void.md
Last active June 4, 2021 20:17
Null vs Void CSharp - IL

NULL

object? GoNull() {
 return null;   
}

As IL:

    .method assembly hidebysig static 
 object '&lt;$&gt;g__GoNull|0_0' () cil managed 
@rodion-m
rodion-m / dz_imt_list_round.txt
Last active May 13, 2021 19:18
dz_imt_list_round
1. Необходимое округление. Некоторые клиенты сообщают вам, что им неудобно постоянно видеть множество цифр после запятой в ИМТ, добавьте возможность вручную указать кол-во знаков после запятой и округлите итоговый ИМТ в соответствии с введенными данными.
2. Статистика для тренера. Теперь, когда ваше приложение набирает популярность, у тренера появилась необходимость узнавать среднее арифметическое ИМТ всех своих клиентов в базе. Для этого следует сохранять результаты всех ИМТ в список (List) и выводить количество записей и средний ИМТ в отдельное значение.
@rodion-m
rodion-m / dz_imt1.md
Last active May 1, 2021 17:12
ДЗ. Урок 1: Помогите тренеру рассчитать ИМТ

Представьте, что к вам пришел фитнес тренер и рассказал о своей проблеме: каждый раз, когда к нему приходит новый клиент, тренеру нужно определить здоровый у клиента вес или есть отклонения от нормы. Для этого ему приходится тратить время на поиск в специальной таблице индекса массы тела клиента (ИМТ). Кроме того, недостаток таблицы еще и в том, что она дает приблизительный ответ: ИМТ

Вы вместе подумали и выяснили, что есть специальная формула для расчета ИМТ: ИМТ = вес / (рост * рост). Но каждый раз пользоваться калькулятором тренеру тоже неудобно. Помогите тренеру: напишите программу, которая будет вычислять для него ИМТ.

1.1 Напишите консольную программу, которая будет рассчитывать индекс массы тела (ИМТ). Для этого вам нужно предоставить тренеру возможность ввести имя, рост (в метрах) и вес (в кг), затем вычислить индекс массы тела по формуле ИМТ. Покажите ИМТ тренеру.

*Обратите внимание, что поскольку рост тре

@rodion-m
rodion-m / dz_reverse_text.md
Last active April 30, 2021 18:33
ДЗ. Урок 1: Шифрование сообщений

Случилась неприятная историяю. Ваш друг обнаружил, что ваша с ним переписка перехватывается неизвестными людьми. К сожалению, вы не можете сменить канал связи, поэтому вы вместе подумали и решили шифровать свои сообщения путем перестановки букв задом наперед.

Пример:

Исходное сообщение: `abc`
Результат: `cba`

Исходное сообщение:: `Привет, друг!`
Результат: `!гурд ,тевирП`
@rodion-m
rodion-m / CategoryTreeGenerator.cs
Last active April 14, 2021 20:13
Category Tree Generator + Test (xUnit) in C#9. See method `CreateTree`.
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Xunit;
public class CategoryTreeGeneratorTest
{
record Category(int Id, string Name)
{
//fake root-category
import 'dart:convert';
import 'dart:io';
void main(List<String> arguments) {
String? input;
var acc = 0.0;
do {
input = stdin.readLineSync(encoding: utf8);
try {
acc += double.parse(input ?? "");
for(var i = 0; i < 101; i += 2) {
print(i);
}
void main() {
const text = """She sells sea shells on the sea shore;
The shells that she sells are sea shells I'm sure.
So if she sells sea shells on the sea shore,
I'm sure that the shells are sea shore shells""";
var list = text.split(" ");
var wordsCount = list.length;