Lab3.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. namespace WindowsFormsApp6
  11. {
  12. public partial class Lab3 : Form
  13. {
  14. public static bool Active;
  15. public Lab3()
  16. {
  17. InitializeComponent();
  18. }
  19. private void Lab3_Load(object sender, EventArgs e)
  20. {
  21. Active = true;
  22. }
  23. private void Lab3_FormClosed(object sender, FormClosedEventArgs e)
  24. {
  25. Active = false;
  26. }
  27. private void btnCalculate_Click(object sender, EventArgs e)
  28. {
  29. try
  30. {
  31. int[] A = tbInputArrayA.Text.Split(' ').Select(int.Parse).ToArray();
  32. int K = int.Parse(tbInputK.Text);
  33. MessageBox.Show($"Ответ: {ArrayToList(LinqRequest(A, K))}", "Ответ");
  34. } catch
  35. {
  36. MessageBox.Show($"Ошибка заполнения поля", "Ошибка");
  37. }
  38. }
  39. private string ArrayToList(int[] array)
  40. {
  41. string result = "";
  42. foreach (int i in array)
  43. {
  44. result += i.ToString();
  45. }
  46. return result;
  47. }
  48. private int[] LinqRequest(int[] A, int K)
  49. {
  50. var result = A.Where(num => num >= 10 && num <= 99 && num % 2 != 0) //Выбираем нечетные двузначные числа
  51. .Skip(K - 1) //Отбрасываем первые К-1 элементы и возвращаем оставшиеся
  52. .OrderByDescending(num => num); //Сортируем числа по убыванию
  53. return result.ToArray();
  54. }
  55. public string MessagePull()
  56. {
  57. string message = $"Lab3 | Последовательность А: {tbInputArrayA.Text} | Число K: {tbInputK.Text}";
  58. return message;
  59. }
  60. }
  61. }