.NET 2.x Элементы находящиеся между максимальным и минимальным элементами массива занести в другой массив - C#

Узнай цену своей работы

Формулировка задачи:

Ввести одномерный массив с клавиатуры и элементы находящиеся между максимальным и минимальным элементами массива занести в другой массив B и вывести его элементы на экран.
Листинг программы
  1. var
  2. I, N: Integer;
  3. iMax, iMin: Integer;
  4. A: array[1..10] of real;
  5. begin
  6. write('Введите количество элементов: '); readLN(N);
  7. writeLN('Введите элементы массива: ');
  8. for I := 1 TO N DO
  9. read(A[I]);
  10. iMax := 1;
  11. for I := 1 TO N DO
  12. if A[I] > A[iMax] then
  13. iMax := I;
  14. iMin := 1;
  15. for I := 1 to N do
  16. if A[I] < A[iMin] then
  17. iMin := I;
  18. WriteLn('Между максимальным и минимальным находятся:');
  19. for I := Min(iMin, iMax)+1 to Max(iMin, iMax)-1 do
  20. Write(A[I], ' ');
  21. WriteLn;
  22. end.
подскажите как создать массив с элементами входящим в промежуток от min и max
Листинг программы
  1. using System;
  2. namespace mass
  3. {
  4. class MainClass
  5. {
  6. public static void Main(string[] args)
  7. {
  8. Console.Write("Длина массива : ");
  9. int max = int.MinValue, min = int.MaxValue;
  10. int minI = 0, maxI = 0, val = 0;
  11. int[] arr = new int[Int32.Parse(Console.ReadLine())];
  12. for (int i = 0; i < arr.Length; i++)
  13. {
  14. Console.Write("элемент #{0} >> ", i + 1);
  15. arr[i] = Int32.Parse(Console.ReadLine());
  16. }
  17. Console.WriteLine("Оригинальный массив : ");
  18. foreach (int n in arr)
  19. Console.Write(n + " ");
  20. for (int i = 0; i < arr.Length; i++)
  21. {
  22. if (arr[i] > max)
  23. {
  24. max = arr[i];
  25. maxI = i;
  26. }
  27. if (arr[i] < min)
  28. {
  29. min = arr[i];
  30. minI = i;
  31. }
  32. }
  33. Console.WriteLine("press any key...\n");
  34. Console.ReadLine();
  35. }
  36. }
  37. }
доработал вроде бы должно работать
Листинг программы
  1. using System;
  2. namespace mass
  3. {
  4. class MainClass
  5. {
  6. public static void Main(string[] args)
  7. {
  8. Console.Write("Длина массива : ");
  9. int max = int.MinValue, min = int.MaxValue;
  10. int minI = 0, maxI = 0, val = 0;
  11. int[] arr = new int[Int32.Parse(Console.ReadLine())];
  12. for (int i = 0; i < arr.Length; i++)
  13. {
  14. Console.Write("элемент #{0} >> ", i + 1);
  15. arr[i] = Int32.Parse(Console.ReadLine());
  16. }
  17. Console.WriteLine("Оригинальный массив : ");
  18. foreach (int n in arr)
  19. Console.Write(n + " ");
  20. for (int i = 0; i < arr.Length; i++)
  21. {
  22. if (arr[i] > max)
  23. {
  24. max = arr[i];
  25. maxI = i;
  26. }
  27. if (arr[i] < min)
  28. {
  29. min = arr[i];
  30. minI = i;
  31. }
  32. }
  33. Console.WriteLine("\nЭлементы между min и max : ");
  34. for (int i = 0, l = Math.Min(minI, maxI), r = val = Math.Max(minI, maxI); i < arr.Length; i++)
  35. {
  36. if (i > l && i < r)
  37. //Console.Write(arr[val--] + " ");
  38. Console.Write(arr[i] + " ");
  39. }
  40. Console.WriteLine("press any key...\n");
  41. Console.ReadLine();
  42. }
  43. }
  44. }

Решение задачи: «.NET 2.x Элементы находящиеся между максимальным и минимальным элементами массива занести в другой массив»

textual
Листинг программы
  1.             int[] arr = { 1,2,9,4,5,6,0 };
  2.             int Max = arr.Max(); int Min = arr.Min();            
  3.             Max = (from u in (arr.Select((e, i) => new { Value = e, Index = i }))//находим индекс максимального
  4.                    where u.Value == Max
  5.                    select u.Index).Single();
  6.             Min = (from u in (arr.Select((e, i) => new { Value = e, Index = i }))//находим индекс минимального
  7.                    where u.Value == Min
  8.                    select u.Index).Single();
  9.             if (Min > Max) { int k = Min; Min = Max; Max = k; }; //расставляем индексы по возрастанию
  10.             int[] Res = arr.Skip(Min+1).Take(Max - Min -1).ToArray();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы