четверг, 22 марта 2018 г.

c#


По данному натуральному числу вирахуйте суму 1 + 2! +3! +. + N!

Console.Write("n=");             int n = int.Parse(Console.ReadLine());             long sum = 0, step = 1;             int i = 1;             while(i<=n)             {                 step *= i++;                 sum += step;             }             Console.WriteLine($"sum={sum}");


Знайти суму тих елементів масиву, які кратні для даного К.


namespace ConsoleApplication3
{
    class Program
    {
        static void Main() 
        {
            Console.Write("Введіть розмірність масиву ");
            int m = int.Parse(Console.ReadLine());
            int[] mas = new int[m];
            Console.Write("Введите k = ");
            int k = int.Parse(Console.ReadLine());
            Random rnd = new Random();
            for (int i = 0; i < m; i++)
            {
                mas[i] = rnd.Next(1, 20);
                Console.Write(mas[i] + " ");
            }
            Console.WriteLine();
            var summa = mas.Where(n => n % k == 0).Sum();
            Console.WriteLine("Сума елементів, кратних {0} = {1}", k, summa);
            Console.ReadKey();
        }
    }
}


Знайти суму квадратів елементів масиву Р і суми квадратів елементів масиву G


static int Sum(int n, int[] mass)
        {
            int res = 0;
            for (int i = 0; i < n; i++)
                res += mass[i] * mass[i];
            return res;
        }
 
        static void Main(string[] args)
        {
            int n = 0, m = 0;
            Random rnd = new Random();
            Console.Write("Розмірність масива P: ");
            n = int.Parse(Console.ReadLine());
            int[] P = new int[n];
            for (int i = 0; i < n; i++)
                P[i] = rnd.Next(0, 100);
            Console.Write("Размер массива G: ");
            m = int.Parse(Console.ReadLine());
            int[] G = new int[m];
            for (int i = 0; i < m; i++)
                G[i] = rnd.Next(0, 100);
            Console.WriteLine("Сума P: " + Sum(n, P));
            Console.WriteLine("Сума G: " + Sum(m, G));
        }

Користувач вводить одномірний масив цілих чисел, знайти суму елементів, які є парними
static void Main(string[] args)         {             int[] arr = new int[100];             int el = 0, sum = 0;             string test;             int count = 0;             Console.WriteLine("Введіть елементи масива");             while(true)             {                 test = Console.ReadLine();                 if (test == "end")                     break;                 else                     arr[el] = Convert.ToInt32(test);                 ++el; ++count;             }               Console.WriteLine("Массив: ");             for (int j = 0; j < count; j++)             {                 Console.Write("{0} ", arr[j]);             }               for (int i = 0; i < arr.Length; i++)             {                 if (arr[i] % 2 == 0)                     sum += arr[i];             }             Console.WriteLine("\nСума парних чисел рівна: " + sum);             Console.ReadLine();         }



Знайти суму елементів у тих стовпцях матриць, які не містять негативних елементів


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Lab_Rab6_1
{
class Program
{
static void Main(string[] args)
{
int[,] msv = new int[5, 5];
Random r = new Random();
Console.WriteLine("===================================");
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
msv[i, j] = r.Next(-5, 15);
Console.Write(msv[i, j] + "\t");
}
Console.WriteLine();
}
for (int i = 0; i < 5; i++)
{
int count = 0; 
for (int j = 0; j < 5; j++)
{
if (msv[j, i] >= 0)
{
count++;
}
}
if (count == msv.GetLength(0)) //
for (int j = 0; j < 5; j++)
{
summa += msv[j, i];
}
Console.WriteLine("===================================");
Console.WriteLine("Сума елементів в {0} стовпці равна {1}", i + 1, summa);
}
}
Console.ReadKey();
}
}
}


Визначте суму елементів у тих рядках, які не містять негативних елементів


 static void Main(string[] args)
        {
            Random rnd = new Random();
            Console.WriteLine("Введите размер квадратной матрицы:");
            int m = int.Parse(Console.ReadLine());
            int[,] matrix = new int[m, m];
 
            Console.Write("Исходная матрица:\n\n");
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    matrix[i,j]=rnd.Next(-3,15);
                    Console.Write("{0}\t", matrix[i, j]);
                }
                Console.WriteLine("\n");
            } // выводим матрицуу на экран
 
            Console.WriteLine("\n=================================\n");
 
            int sum=0;
            for (int i = 0; i < m; i++)  //находим положительные элементы в строках и суммирукм их
            {
                sum = 0;
                for (int j = 0; j < m; j++)
                {
                    if (matrix[i, j] >= 0) sum += matrix[i, j];
                    else
                    {
                        sum = 0;
                        break;
                    }
                }
                if (sum != 0) Console.WriteLine("\nСумма элементов строки № {0} = {1}", i+1, sum);   
            }
 
            Console.WriteLine("\n=================================\n");
 
            int diagonal1=0, diagonal2=0, diagonal3=0, diagonal4=0;
 
 
            for (int k = 0; k < m - 2; k++)
            {
                diagonal1 += matrix[k, k + 2];
                diagonal4 += matrix[k + 2, k];
            }
            
            for (int k = 0; k < m - 1; k++)
            {
               diagonal2 += matrix[k, k + 1]; 
               diagonal3 += matrix[k + 1, k];
            }
 
            Console.WriteLine("Суммы диагоналей, параллельных главной диагонали матрицы:\n");
            Console.Write(diagonal1 + ", " + diagonal2 + ", " + diagonal3 + ", " + diagonal4 + "");
 
            int[] masD = { diagonal1, diagonal2, diagonal3, diagonal4 };
            int min = masD.Min();
 
            Console.WriteLine("\n\nМинимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы: {0}", min);
 
            Console.ReadKey();
        }



Із введенного текста роздруковувати тільки ті слова, які є симметричними (RADAR, ANNA), або в яких букв упорядковані в порядку, зворотному алфавітному (TOK, ZONA).
static void Main(string[] args)
        {
            Console.WriteLine("Введіть строку");
            Console.WriteLine();
            string s = Console.ReadLine();
                        string[] str = s.Split(' ');
                  
            for (int i = 0; i < str.Length; i++)
            {
                Console.Write(str[i]);
                string st=str[i];
                if (st[0] == st[st.Length - 1])
                Console.Write(" - умова виконується");
                Console.WriteLine("");
            }
            Console.ReadKey();
        }

Ввести рядок, в яку можуть входити тільки цифри і букви. Роздрукувати ті групи букв, 
в яких 'A' 
зустрічається не менше двох разів. (Група букв - це послідовність букв, обрамлена цифрами)

var s = "...";
var arr = Regex.Split(s, @"\d+").Where(p => p.ToCharArray().Count(ch => ch == 'A') > 1);
foreach (var i in arr)
    Console.WriteLine(i);


Якщо в командному рядку задана опція-в, то вводиться в нижній регістр літери перетворені 
в букви верхнього регістру. При указании опций -l реалізувати зворотне перетворення.


static void Main(string[] args)
        {
            char EnteredSymbol;
 
            if (args.Length == 0)
            {
                Console.WriteLine("Please use -u or -l parameters.");
                Console.ReadKey(true);
                return;
            }
            
            if (args[0] == "-u")
            {
                EnteredSymbol = Console.ReadKey(true).KeyChar;
                
                while(EnteredSymbol != (char)Keys.Escape)
                {
                    Console.Write(Char.ToUpper(EnteredSymbol));
                    EnteredSymbol = Console.ReadKey(true).KeyChar;
                }
            }
            
            else if (args[0] == "-l")
            {
                EnteredSymbol = Console.ReadKey(true).KeyChar;
 
                while (EnteredSymbol != (char)Keys.Escape)
                {
                    Console.Write(Char.ToLower(EnteredSymbol));
                    EnteredSymbol = Console.ReadKey(true).KeyChar;
                }
            }
            
            else
            {
                Console.WriteLine("There is no such a parametr. Use -u or -l parameters.");
                Console.ReadKey(true);
            }
        }
з введенного текста роздруковувати тільки ті слова, які є симметричними (RADAR, ANNA),
 або в яких букв упорядковані в порядку, зворотному алфавітному (TOK, ZONA).

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter line of words:");
            string s = Console.ReadLine();
            //разлож. строку на массив слов
            string[] str = s.Split(' ');
            
            //проверка каждого слова массива на выполнение условия симметричности
            Console.WriteLine("\nSymmetric words:");
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] == ReverseStringBuilder(str[i]))
                    Console.WriteLine(str[i]);
            }
 
            //проверка каждого слова массива на выполнение условия обратного порядка алфавита
            Console.WriteLine("\nInverse alphabetic order words:");
            for (int i = 0; i < str.Length; i++)
            {
                if (IsInverseAlphabeticOrder(str[i]))
                    Console.WriteLine(str[i]);
            }
 
            Console.ReadKey();
        }
 
        static String ReverseStringBuilder(String str)
        {
            StringBuilder sb = new StringBuilder(str.Length);
            for (int i = str.Length - 1; i >= 0; i--)
                sb.Append(str[i]);
            return sb.ToString();
        }
 
        static bool IsInverseAlphabeticOrder(string str)
        {
            for (int i = 1; i < str.Length; i++)
            {
                if (Char.ToUpper(str[i]) > Char.ToUpper(str[i - 1]))
                    return false;
            }
            return true;
        }
    }


Написати і протестувати функцію STRS (str1, str2), 
яка визначає, зустрічається в рядку str1 будь-який символ з рядка str2.

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please enter the first word:");
            string s1 = Console.ReadLine();
            Console.WriteLine("Please enter the second word:");
            string s2 = Console.ReadLine();
 
            STRS(s1, s2);
 
            Console.ReadKey();
        }
 
        static void STRS(string str1, string str2)
        {
            for (int i = 0; i < str1.Length; i++)
                for (int j = 0; j < str2.Length; j++)
                {
                    if (str1[i] == str2[j])
                        Console.WriteLine("there is '" + str2[j] + "' letter from the second word in first word");
                }
        }

Комментариев нет:

Отправить комментарий