Advertisement
Lyubohd

Variant2_Zad1

Jun 26th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.07 KB | None | 0 0
  1. namespace Problem_01
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.     using System.IO;
  6.     using System.Linq;
  7.  
  8.     public class StartUp
  9.     {
  10.         public static void Main()
  11.         {
  12.             //Извикваме функцията за прочитане на масива
  13.             int[] inputArray = ReadArray();
  14.             //Извикваме функцията за проверка дали масива е сортиран
  15.             IsSorted(inputArray);
  16.             //Извикваме функцията за броене на тройки елементи в масива
  17.             Doubles(inputArray);
  18.         }
  19.  
  20.         //функция за прочитане на масива
  21.         private static int[] ReadArray()
  22.         {
  23.             //Прочитаме името на файла от конзолата
  24.             string fileName = Console.ReadLine();
  25.             //Прочитаме и записваме съдържанието на файла в стринг
  26.             string input = File.ReadAllText(fileName);
  27.             //Разделяме елементите по интервал, парсваме ги към int и записваме в масив
  28.             int[] arr = input.Split(' ').Select(int.Parse).ToArray();
  29.             //Връщаме масива от цели числа
  30.             return arr;
  31.         }
  32.  
  33.         //функнция за проверка дали е сортиран масива
  34.         private static void IsSorted(int[] arr)
  35.         {
  36.             bool sorted = false;
  37.             //обхождаме масива и срявняваме дали всеки елемент е по-малък от предходния
  38.             for (int i = 1; i < arr.Length; i++)
  39.             {
  40.                 //Проверка дали сегашният елемент е по-малък от предходния
  41.                 if (!(arr[i] <= arr[i - 1]))
  42.                 {
  43.                     //Ако не е по-малък
  44.                     sorted = false;
  45.                     break;
  46.                 }
  47.                 else
  48.                 {
  49.                     //Ако е по-малък
  50.                     sorted = true;
  51.                 }
  52.             }
  53.             if (sorted)
  54.             //ако е сортиран
  55.             {
  56.                 Console.WriteLine("Масива е сортиран във низходящ ред");
  57.             }
  58.             else
  59.             //ако не е сортиран
  60.             {
  61.                 Console.WriteLine("Масива не е сортиран");
  62.             }
  63.         }
  64.  
  65.         //функция за проверка дали има тройки елементи в масива
  66.         private static void Doubles(int[] arr)
  67.         {
  68.             //Променлива в която ще държим броя на тройките
  69.             int threesCount = 0;
  70.             //Речник в който ще държим броя на всяко число в масива
  71.             Dictionary<int, int> threes = new Dictionary<int, int>();
  72.             //Обикаляме масива и записваме в речника колко пъти се среща всяко число
  73.             foreach (var number in arr)
  74.             {
  75.                 if (!threes.ContainsKey(number))
  76.                 {
  77.                     threes.Add(number, 0);
  78.                 }
  79.                 threes[number]++;
  80.             }
  81.             //Обикаляме речника и търсим числа които се срещат три пъти;
  82.             foreach (var number in threes)
  83.             {
  84.                 if (number.Value == 3)
  85.                 {
  86.                     //За всяка тройка увеличаваме брояча със едно
  87.                     threesCount++;
  88.                 }
  89.             }
  90.             //Принтираме броя на тройките в масива
  91.             Console.WriteLine("Тройките в масива са: " + threesCount);
  92.         }
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement