Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- delegate int Nums(int x, int y);
- delegate bool Interv(int[] x, int y);
- delegate bool Nums1(int x, int y);
- delegate int Mass(int[] x);
- delegate int Matrix(int[,] x);
- delegate void Matrix1(int[,] x);
- delegate string Opis(int x);
- delegate int Str(string x);
- delegate string Str1(string x);
- class Program
- {
- public static int unknown(char k, string x)
- {
- return Convert.ToInt32(x.Split(k).Length.ToString()) - 1;
- }
- static void Main(string[] args)
- {
- /*Мне лень организовывать вывод данных, а тебе лень их каждый раз вводить,
- поэтому давай ты их просто поменяешь в коде, и все будут довольны!*/
- int x1 = 19, x2 = 15, x3 = 166;
- int[] mass = new int[] { 1, 10, 25, 15, 34, 8, 7 };
- int[,] matr = { { 1, 3, 6 }, { 4, -5, 8 }, { 3, 5, 7 } };
- string x = "Что ты хочешь от меня?? Этот код работает, на него необязательно смотреть!";
- string y = "Нужно((больше((((скобок)))))";
- Console.Write("Входные данные:\nx1="+x1+" x2="+x2+" x3="+x3+"\nМассив: { ");
- foreach (int i in mass)
- {
- Console.Write(i+" ");
- }
- Console.WriteLine("}\nМатрица:");
- for (int i=0; i<matr.GetLength(0); i++)
- {
- Console.Write("{ ");
- for (int j = 0; j < matr.GetLength(1); j++)
- {
- Console.Write(matr[i, j]+" ");
- }
- Console.WriteLine("}");
- }
- Console.WriteLine("Строка 1: "+x+"\nСтрока 2: "+y+"\n");
- //Использование дегенера... делегатов:
- Nums sum = (p, l) =>
- {
- return p + l;
- };
- Interv prin = (p, l) =>
- {
- for (int i = 0; i < p.GetLength(0); i++)
- {
- if (p[i] == l) return true;
- }
- return false;
- };
- Nums1 srav = (p, l) =>
- {
- return (p > l);
- };
- Mass razm = (b) =>
- {
- return b.GetLength(0);
- };
- Mass max = (b) =>
- {
- int k = 0;
- for (int i = 0; i < razm(b); i++)
- if (k < b[i]) k = b[i];
- return k;
- };
- Mass polozh = (b) =>
- {
- int k = 0;
- for (int i = 0; i < razm(b); i++)
- if (b[i] > 0) k++;
- return k;
- };
- Matrix sumDiag = (b) =>
- {
- int s = 0;
- for (int i = 0; i < Math.Min(b.GetLength(0), b.GetLength(1)); i++)
- s += b[i, i];
- return s;
- };
- Matrix polStr = (b) =>
- {
- int s = 0;
- for (int i = 0; i < b.GetLength(0); i++)
- {
- for (int k = 0; k < b.GetLength(1);)
- {
- if (b[i, k] < 0) break; k++;
- if (k == b.GetLength(1)) s++;
- }
- }
- return s;
- };
- Opis opis = (b) =>
- {
- string s1, s2 = null, s3 = "число";
- switch (b.ToString().Length)
- {
- case 1: s2 = "однозначное "; break;
- case 2: s2 = "двузначное "; break;
- case 3: s2 = "трехзначное "; break;
- case 4: s2 = "четырехзначное "; break;
- default: break;
- }
- if (x3 % 2 == 0) s1 = "четное "; else s1 = "нечетное ";
- return s1 + s2 + s3;
- };
- Str slov = (b) =>
- {
- //на /dev/null я нашел хороший коммент:"Работает-не трогай!" Советую обратить внимание...
- return unknown(' ', b);
- };
- Str1 zel = (b) =>
- {
- return b.Replace(" ", "");
- };
- Str glas = (b) =>
- {
- //Я же просил, не смотри на этот код!!
- return unknown('а',b)+ unknown('о', b) + unknown('у', b) + unknown('е', b) + unknown('ы', b) + unknown('э', b) + unknown('я', b) + unknown('и', b) + unknown('ю', b);
- };
- Str chs = (b) =>
- {
- int k=0;
- string s = "(", s1 = ")";
- for(int i=0; i<b.Length ; i++)
- {
- if (b[i].ToString().Contains(s)) k++; //проверка элемента на наличие строки, который переделан из char в строку...
- else if (b[i].ToString().Contains(s1)) k--; //осталось только приделать в код монитор
- if (k < 0) return i+1;
- }
- if (k > 0) return -1;
- return 0;
- };
- Matrix1 transp = (b) =>
- {
- for (int i = 0; i < b.GetLength(0); i++)
- {
- Console.Write("{");
- for (int k = 0; k < b.GetLength(1); k++)
- {
- Console.Write(b[k, i] + " ");
- }
- Console.Write("}\n");
- }
- };
- Console.WriteLine("Сумма х1 и х2: "+sum(x1,x2)+ "\nx1 больше х2?: " +srav(x1,x2)+ "\nx1 принадлежит массиву?: "+ prin(mass,x1)+"\nРазмер массива: "+razm(mass)+"\nМаксимальное значение массива: "+max(mass)+"\nКол-во положительных элементов массива: "+polozh(mass) + "\nСумма элементов главной диагонали матрицы: " +sumDiag(matr)+"\nКол-во строк с положительными элементами в матрице: "+ polStr(matr)+"\nХарактеристика x3: " +opis(x3)+"\nКол-во слов в строке 1: "+slov(x)+ "\nСтрока 1 без пробелов: "+zel(x) + "\nКол-во гласных в строке 1: " + glas(x)+ "\nЗначение лишних скобок в строке 2: "+chs(y)+"\nТранспонированная матрица:");
- transp(matr); //я не знаю как по другому вывести эту матрицу, там и так 2 цикла
- Console.ReadKey();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment