static void Main(string[] args) { Number number = new Number(); Console.WriteLine("Please enter a number: "); int num1 = Convert.ToInt32(Console.ReadLine()); int num2; number.Divide(out num2, num1); Console.WriteLine(num2); var addAnswer = number.Add(num1); Console.WriteLine(addAnswer); Console.WriteLine("Please enter another number: "); double num3 = Convert.ToDouble(Console.ReadLine()); var add2Answer = number.Add(num3); Console.WriteLine(add2Answer); Console.ReadLine(); }
static int Main () { INumber n = new Number (); n.Add(1); n.Add(1.0); ((IInteger)n).Add(1); ((IDouble)n).Add(1); return 0; }
public static int Main () { INumber n = new Number (); n.Add(1); n.Add(1.0); ((IInteger)n).Add(1); ((IDouble)n).Add(1); return 0; }
public static Number Pair(Number a, Number b) { var number = new Number(); number.Add(new Token(TokenKind.Open)); number.AddRange(a); number.AddRange(b); number.Add(new Token(TokenKind.Close)); return(number); }
/** * @brief Used X and Y to compute the value of Z. */ public void ComputeZ() { //Perform a different operation depending on the ALU's circuitry. switch (currentCircuitry) { case CIRCUITRY.ADDITION: z = Number.Add(x, y); break; case CIRCUITRY.SUBTRACTION: z = Number.Subtract(x, y); break; case CIRCUITRY.MULTIPLICATION: z = Number.Multiply(x, y); break; case CIRCUITRY.DIVISION: z = Number.Divide(x, y); break; } Debug.Log("COMPUTING Z: - \n" + z.ToString()); input_z.text = z.GetHex(); }
public static void Main() { Number <Byte> byt = new Number <Byte>(12); Console.WriteLine(byt.Add(12)); Number <SByte> sbyt = new Number <SByte>(-3); Console.WriteLine(sbyt.Subtract(12)); Number <ushort> ush = new Number <ushort>(16); Console.WriteLine(ush.Add((ushort)3)); Number <double> dbl = new Number <double>(Math.PI); Console.WriteLine(dbl.Add(1.0)); FloatingPoint <Single> sng = new FloatingPoint <float>(12.3f); Console.WriteLine(sng.Add(3.0f)); // FloatingPoint<int> f2 = new FloatingPoint<int>(16); // Console.WriteLine(f2.Add(6)); }
public void AddDifferentZ() { Number number1 = new Number(0, 0, 0); Number number2 = new Number(1, 1, 1); Assert.Throws <ArgumentException>(() => number1.Add(number2)); }
public void Add_5_plus_7_return_12() { var a = new Number(5); var b = new Number(7); var result = Number.Add(a, b).ToString(); Assert.AreEqual("12", result); }
public void Plus() { var r1 = new Number(1.5); var r2 = new Number(1.5); var r = Number.Add(r1, r2); Assert.Equal(3, r.ToDouble()); }
public void Add_80_plus_85_return_165() { var a = new Number(80); var b = new Number(85); var result = Number.Add(a, b).ToString(); Assert.AreEqual("165", result); }
public T SumAdd() { T sum = default; foreach (T item in _items) { sum = Number.Add(sum, item); } return(sum); }
public void AddNormal() { Number number1 = new Number(0, 0, 0); Number number2 = new Number(1, 1, 0); Number result = new Number(1, 1, 0); Number add = number1.Add(number2); Assert.True(add == result); }
public void TestAdd(double a, double b, double expected) { // arrange var aa = new Variable("Number", a, "TestAdd"); var bb = new Variable("Number", b, "TestAdd"); // act var result = Number.Add(aa, bb); // assert Assert.IsTrue((bool)result.Value); Assert.AreEqual(expected, aa.Value); Assert.AreEqual(b, bb.Value); }
public void AddNewCard(UInt64 a, String b) { Console.WriteLine("Введите количество денег на счету"); Double sum = Double.Parse(Console.ReadLine()); if (sum > 0) { Pass.Add(b); Number.Add(a); Sum.Add(sum); Console.WriteLine("Данные вашей новой карты: pass-{0}, num-{1}, sum-{2}", Pass[Pass.Count - 1], Number[Number.Count - 1], Sum[Sum.Count - 1]); Console.WriteLine("Операция проведена успешно"); } else { Console.WriteLine("Убедитесь в правильности введенных данных и попробуйте еще раз"); } }
public static void Test21() { Number n1 = new Number("911218"); Console.WriteLine("Number: {0}", n1); Console.WriteLine("Reverse: {0}", n1.Reverse()); Number n2 = new Number("1723337"); Console.WriteLine("Number: {0}", n2); Console.WriteLine("Count: {0}", n2.Count); Number sum = n1.Add(n2); Console.WriteLine("Sum: {0}", sum); Console.WriteLine("Symmetric: {0}", sum.IsSymmetric); Number n3 = new Number("88255288"); Console.WriteLine("Number: {0}", n3); Console.WriteLine("Symmetric: {0}", n3.IsSymmetric); }
// public methods public bool CalcPalindrom() { this.palindrom = null; this.steps = 0; Number n = this.start; for (int i = 0; i < this.limit; i++) { if (n.IsSymmetric) { this.palindrom = (Number)n.Clone(); this.steps = i; return(true); } Number m = n.Reverse(); n = n.Add(m); } this.palindrom = null; return(false); }
public static void Test22() { Number n1 = new Number("999"); Console.WriteLine("Number: {0}", n1); Number n2 = new Number("1"); Console.WriteLine("Number: {0}", n2); Number sum = n1.Add(n2); Console.WriteLine("Sum: {0}", sum); bool b = sum.IsSymmetric; Console.WriteLine("Symmetric: {0}", b); Number n3 = new Number("9999999999999"); Console.WriteLine("Number: {0}", n3); Number n4 = new Number("1"); Console.WriteLine("Number: {0}", n4); sum = n3.Add(n4); Console.WriteLine("Sum: {0}", sum); b = n3.IsSymmetric; Console.WriteLine("Symmetric: {0}", b); b = n4.IsSymmetric; Console.WriteLine("Symmetric: {0}", b); b = sum.IsSymmetric; Console.WriteLine("Symmetric: {0}", b); }
static void Main(string[] args) { Console.WriteLine("{0}", Number.Add(1, 2)); Console.WriteLine("{0}", Number.Add(98, 0)); Console.WriteLine("{0}", Number.Add(100, -2)); }
bool Explode(Number number) { // exploding means we need to find the first pair in the number // that is embedded in 4 other pairs and get rid of it: var depth = 0; for (var i = 0; i < number.Count; i++) { if (number[i].kind == TokenKind.Open) { depth++; if (depth == 5) { // we are deep enough, let's to the reduce part // find the digit to the left (if any) and increase: for (var j = i - 1; j >= 0; j--) { if (number[j].kind == TokenKind.Digit) { number[j] = number[j] with { value = number[j].value + number[i + 1].value }; break; } } // find the digit to the right (if any) and increase: for (var j = i + 3; j < number.Count; j++) { if (number[j].kind == TokenKind.Digit) { number[j] = number[j] with { value = number[j].value + number[i + 2].value }; break; } } // replace [a b] with 0: number.RemoveRange(i, 4); number.Insert(i, new Token(TokenKind.Digit, 0)); // successful reduce: return(true); } } else if (number[i].kind == TokenKind.Close) { depth--; } } // couldn't reduce: return(false); } bool Split(Number number) { // spliting means we neeed to find a token with a high value and make a pair out of it: for (var i = 0; i < number.Count; i++) { if (number[i].value >= 10) { var v = number[i].value; number.RemoveRange(i, 1); number.InsertRange(i, Number.Pair(Number.Digit(v / 2), Number.Digit((v + 1) / 2))); // successful split: return(true); } } // couldn't split: return(false); } // tokenize the input to a list of '[' ']' and digit tokens Number ParseNumber(string st) { var res = new Number(); var n = ""; foreach (var ch in st) { if (ch >= '0' && ch <= '9') { n += ch; } else { if (n != "") { res.Add(new Token(TokenKind.Digit, int.Parse(n))); n = ""; } if (ch == '[') { res.Add(new Token(TokenKind.Open)); } else if (ch == ']') { res.Add(new Token(TokenKind.Close)); } } } if (n != "") { res.Add(new Token(TokenKind.Digit, int.Parse(n))); n = ""; } return(res); } }
public void AddNullNumber2() { Number number1 = new Number(0, 0, 0); Assert.Throws <ArgumentNullException>(() => number1.Add(null)); }
private async void ButtonCalculate_Click(object sender, EventArgs e) { try { if (comboBoxOperation.SelectedValue.ToString() != "China theoreme") { if (string.IsNullOrEmpty(textBoxFirstOperand.Text) || string.IsNullOrEmpty(textBoxSecondOperand.Text)) { if (comboBoxOperation.SelectedValue.ToString() != "Sqrt") { throw new ArgumentNullException("Enter all operands!"); } } var firstOperand = textBoxFirstOperand.Text; var secondOperand = textBoxSecondOperand.Text; if (comboBoxOperation.SelectedValue.ToString() == "Sqrt") { secondOperand = "0"; } Number num1 = new Number(firstOperand); Number num2 = new Number(secondOperand); Number module = new Number(); if (checkBoxUseModule.Checked) { module = new Number(textBoxModule.Text); } labelRest.Text = "0"; string resultString = ""; bool isLogical = false; Number result = new Number(); timer.Interval = 10; timer.Start(); switch (comboBoxOperation.Text) { case "Add": if (checkBoxUseModule.Checked) { result = await Number.ModuleAsync(Number.Add(num1, num2), module); } else { result = await Number.AddAsync(num1, num2); } break; case "Subtract": if (checkBoxUseModule.Checked) { result = await Number.ModuleAsync(Number.Subtract(num1, num2), module); } else { result = await Number.SubtractAsync(num1, num2); } break; case "Multiply": if (checkBoxUseModule.Checked) { result = await Number.ModuleAsync(Number.Multiply(num1, num2), module); } else { result = await Number.MultiplyAsync(num1, num2); } break; case "Divide": var res = await Number.DivideAsync(num1, num2); result = res.result; labelRest.Text = res.rest.ToString(); break; case "Power": if (checkBoxUseModule.Checked) { result = await Number.ExponentWithModuleAsync(num1, num2, module); } else { result = await Number.ExponentAsync(num1, num2); } break; case "Module": if (checkBoxUseModule.Checked) { result = await Number.ModuleAsync(Number.Module(num1, num2), module); } else { result = await Number.ModuleAsync(num1, num2); } break; case "Sqrt": if (checkBoxUseModule.Checked) { result = await Number.ModuleAsync(Number.Sqrt(num1), module); } else { result = Number.Sqrt(num1); } break; case "Less": isLogical = true; resultString = (num1 < num2).ToString(); break; case "Great": isLogical = true; resultString = (num1 > num2).ToString(); break; case "Less or Equal": isLogical = true; resultString = (num1 <= num2).ToString(); break; case "Great or Equal": isLogical = true; resultString = (num1 >= num2).ToString(); break; case "Equal": isLogical = true; resultString = (num1 == num2).ToString(); break; case "Not Equal": isLogical = true; resultString = (num1 != num2).ToString(); break; } timer.Stop(); if (!isLogical) { resultString = result.ToString(); } using (StreamWriter writer = new StreamWriter(@"C:\Users\Evgentus\Desktop\result.txt", false)) { await writer.WriteLineAsync(resultString); // асинхронная запись в файл } labelResult.Text = resultString; } else { List <StructureForModEquations> equations = GetAllEquations(); var result = Number.ChinaTheoreme(equations); string resultString = result.ToString(); using (StreamWriter writer = new StreamWriter(@"C:\Users\Evgentus\Desktop\result.txt", false)) { await writer.WriteLineAsync(resultString); // асинхронная запись в файл } labelResult.Text = resultString; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void Add <T>(T left, T right, T expected) { Assert.AreEqual(expected, Number.Add(left, right)); Assert.AreEqual(expected, AddWithOperator <T>(left, right)); }
public Number GetNumberDecimal(string line) { Number number = new Number(); if (line.Equals(string.Empty)) { return(number); } line = line.ToLower(); string lineTrimmed = Regex.Replace(line, @"\s\s+", " ").Trim(); List <string> split = lineTrimmed.Split(" ").ToList(); number.FullSentence = lineTrimmed; for (int i = 0; i < split.Count; i++) { //if(i > 3) //{ // number.ErrorCode = 21; //don't mind that, this one is task requirement // number.ErrorWord = split[4]; // return number; //} Numeral numeral = Numerals.Find(x => x.Word.Equals(split[i])); if (numeral == null) { number.ErrorCode = 220 + i; number.ErrorWord = split[i]; return(number); } if (numeral.Word.Equals("hundred") && i == 0) { number.ErrorCode = 40; number.ErrorWord = split[i]; return(number); } number.Add(numeral, i); if (number.ErrorCode != 0) { if (number.ErrorCode > 1200) { int rank = number.ErrorCode % 10; switch (rank) { case 1: { if (number.ranks[2]) { number.FullSentence = string.Concat((from item in split.Skip(1) let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 1 || n.Rank == 4 select item + " ").Take(1)).Trim(); break; } number.FullSentence = (from item in split let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 1 || n.Rank == 4 select item).Take(1).First(); break; } case 2: { if (number.ranks[2]) { number.FullSentence = (from item in split.Skip(1) let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 1 || n.Rank == 2 || n.Rank == 4 select item).Take(1).First(); break; } number.FullSentence = (from item in split let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 1 || n.Rank == 2 || n.Rank == 4 select item).Take(1).First(); break; } case 3: { number.FullSentence = (from item in split let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 3 select item).Take(1).First(); break; } case 4: { if (number.ranks[3]) { number.FullSentence = (from item in split let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 4 select item).Take(1).First(); break; } if (number.ranks[0] && number.ranks[1]) { if ((number.ErrorCode % 1200 / 10) < 2) { number.FullSentence = (from item in split let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 1 select item).Take(1).First(); break; } if (number.ranks[2]) { number.FullSentence = string.Concat((from item in split.Skip(1) let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 1 || n.Rank == 2 select item + " ").Take(2)).Trim(); break; } number.FullSentence = string.Concat((from item in split let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 1 || n.Rank == 2 select item + " ").Take(2)).Trim(); break; } if (number.ranks[2]) { number.FullSentence = string.Concat((from item in split.Skip(1) let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 1 || n.Rank == 2 select item + " ").Take(1)).Trim(); break; } number.FullSentence = (from item in split let n = Numerals.Find(x => x.Word.Equals(item)) where n.Rank == 1 || n.Rank == 2 select item).Take(1).First(); break; } default: break; } } return(number); } } if (split.Count > 2 && !split[1].Equals(Numerals.Find(x => x.Numerical.Equals(100)).Word)) { number.ErrorCode = 23; number.ErrorWord = split[1]; return(number); } //if (split.Count > 4 && number.ErrorCode == 0) //{ // number.ErrorCode = 21; //don't mind that, this one is task requirement //} return(number); }
public void AddNumber(string number) { Number.Add(number); }