M6. Задачи на изменение исходного массива

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Внимание! При решении задач на одномерные массивы обязательно учтите рекомендации по оформлению вашего результата!
Решены задачи нет. Не решены: пока все.

Задачи

M6.1. Дан массив. Поменять местами:
а) второй и пятый элементы;
б) m-й и n-й элементы;
в) третий и максимальный элементы. Если элементов с максимальным значением несколько, то в обмене должен участвовать первый из них;
г) первый и минимальный элементы. Если элементов с минимальным значением несколько, то в обмене должен участвовать последний из них.
M6.2. Дан массив из четного числа элементов. Поменять местами:
а) его половины;
б) первый элемент со вторым, третий — с четвертым и т. д.;
в) его половины следующим способом: первый элемент поменять с последним, второй — с предпоследним и т. д.
M6.3. Дан одномерный массив из 20 элементов. Переставить первые три и последние три элемента, сохранив порядок их следования.
M6.4. Дан одномерный массив из 15 элементов. Переставить в обратном порядке:
а) элементы, расположенные между вторым и десятым элементами (т. е. с третьего по девятый);
б) элементы, расположенные между k-м и s-м элементами (т. е. с (k + 1)-го по (s – 1)-й). Значения k и s вводятся с клавиатуры, k < s;
в) элементы, расположенные между максимальным и минимальным элементами, включая их.
M6.5. Поменять местами первый отрицательный и последний положительный элементы массива. Учесть возможность того, что отрицательных или положительных элементов в массиве может не быть.

Внимание!
В задачах M6.6—M6.15 под удалением элемента массива следует понимать:
исключение этого элемента из массива путем смещения всех следующих за ним элементов влево на 1 позицию;
присваивание последнему элементу массива значения 0.

M6.6. Удалить из массива:
а) третий элемент;
б) k-й элемент.
M6.7. В массиве записана информация о стоимости каждого из 20 видов товара, продаваемых фирмой. С 1 января очередного года фирма прекращает продавать товар, стоимость которого записана в n-м элементе массива. Получить массив со стоимостью всех оставшихся видов товара.
M6.8. Удалить из массива, в котором все элементы различны:
а) максимальный элемент;
б) минимальный элемент.
M6.9. В массиве записана информация о росте каждого из 25 учеников класса (в порядке уменьшения роста). Один из учеников из класса выбыл. Получить новый массив с упорядоченными в том же порядке данными о росте оставшихся учеников. Рассмотреть два возможных случая:
1) известен порядковый номер выбывшего ученика;
2) известен рост выбывшего ученика.
M6.10. Удалить из массива:
а) первый отрицательный элемент (если отрицательные элементы в массиве есть);
б) удалить последний четный элемент (если четные элементы в массиве есть).
M6.11. Удалить из массива, в котором все элементы различны, максимальный и минимальный элементы.
M6.12. В массиве записана информация о росте каждого из 25 учеников класса (в порядке убывания роста). Из класса выбыли два ученика. Получить новый массив с упорядоченными в том же порядке данными о росте оставшихся учеников. Рассмотреть два возможных случая:
1) известны порядковые номера выбывших учеников;
2) известны значения роста выбывших учеников.
M6.13. Удалить из массива:
а) все отрицательные элементы;
б) все элементы, большие данного числа n;
в) все элементы, начиная с n1-го по n2-й (n1 <= n2).
M6.14. Дан массив целых чисел. Удалить из него:
а) все четные элементы, стоящие на нечетных местах;
б) все элементы, кратные 3 или 5.
M6.15. Удалить из массива все повторяющиеся элементы, оставив их первые вхождения, т. е. в массиве должны остаться только различные элементы.

Внимание!
В задачах M6.16-M6.25 под вставкой числа n в массив после k-го элемента следует понимать:
увеличение размера массива на 1;
смещение всех элементов, начиная с (k + 1)-го, вправо на 1 позицию;
присваивание (k + 1)-му элементу массива значения n.

M6.16. Вставить в массив:
а) число 10 после второго элемента;
б) число 100 после m-го элемента.
M6.17. Вставить заданное число в массив целых чисел:
а) после первого отрицательного элемента;
б) перед последним четным элементом.
M6.18. В массив записали информацию о высоте над уровнем моря двадцати горных вершин мира. Данные записаны в порядке, соответствующем алфавитному порядку названий вершин. После этого решили ввести в массив сведения еще по одной вершине. Получить новый массив, имея в виду, что место в массиве для записи дополнительной информации известно.
M6.19. Данные о росте 15 юношей класса, упорядоченные по убыванию, записаны в массиве. В начале учебного года в класс поступил новый ученик. Получить аналогичный массив, учитывающий рост нового ученика. Рассмотреть два возможных случая:
1) известен порядковый номер нового ученика;
2) известен рост нового ученика.
M6.20.  Вставить в массив два заданных числа: первое после любого из максимальных элементов, второе — перед ним.
M6.21. Вставить заданное число в массив целых чисел:
а) перед всеми элементами, кратными числу a;
б) после всех отрицательных элементов.
Каким должен быть максимальный размер исходного массива в обоих случаях?
M6.22. Вставить в массив два числа: первое со значением n перед всеми элементами, большими n, и второе со значением m — после всех элементов, меньших m. Каким должен быть максимальный размер исходного массива?
M6.23. Данные о росте 25 учеников класса, упорядоченные по убыванию, записаны в массиве. В начале учебного года в класс поступили два новых ученика. Получить аналогичный массив, учитывающий рост новых учеников. Рассмотреть два возможных случая:
1) известны порядковые номера новых учеников;
2) известны значения роста новых учеников.
M6.24.Вставить число a в массив целых чисел после всех элементов, в которых есть цифра 5. Каким должен быть максимальный размер исходного массива?
M6.25. Вставить число n между всеми соседними элементами, имеющими одинаковый знак. Каким должен быть максимальный размер исходного массива?

M6.26. Переставить первый элемент массива на место последнего. При этом второй, третий, …, последний элементы сдвинуть влево на 1 позицию.
M6.27. Переставить первый элемент массива на место k-го элемента. При этом второй, третий, …, k-й элементы сдвинуть влево на 1 позицию.
M6.28. Переставить s-й элемент массива на место k-го элемента (s < k). При этом (s + 1)-й, (s + 2)-й, …, k-й элементы сдвинуть влево на 1 позицию.
M6.29. В массиве должна быть записана информация о результатах соревнований по плаванию, в котором приняли участие 25 спортсменов. Данные должны быть записаны в порядке ухудшения результата. После заполнения массива выяснилось, что значение первого элемента не соответствует требованию упорядоченности. Изменить массив так, чтобы данные были упорядочены.
M6.30. Переставить последний элемент массива на место первого. При этом первый, второй, …, предпоследний элементы сдвинуть вправо на 1 позицию.
M6.31. Переставить последний элемент массива на место k-го элемента. При этом k-й, (k + 1)-й, …, предпоследний элементы сдвинуть вправо на 1 позицию.
M6.32. Переставить s-й элемент массива на место k-го элемента (s > k). При этом k-й, (k + 1)-й, …, (s – 1)-й элементы сдвинуть вправо на 1 позицию.
M6.33. В массиве должна быть записана информация о количестве жителей в каждом из 30 городов (в порядке возрастания численности). После заполнения массива выяснилось, что значение последнего элемента не соответствует требованию упорядоченности. Изменить массив так, чтобы данные были упорядочены.
M6.34. В массиве должна быть записана информация о максимальной скорости каждой из 30 моделей легковых автомобилей (в порядке возрастания). После заполнения массива выяснилось, что значение k-го элемента не соответствует требованию упорядоченности. Изменить массив так, чтобы данные были упорядочены.
M6.35. Дан одномерный массив m из 28 элементов. Перенести первые k элементов в конец: m[k+1] , m[k+2] , …, m[1] , m[2] , …, m{k] .
M6.36. Дан одномерный массив m из 12 элементов. Переставить его элементы следующим способом: m[1] , m[12] , m[2] , m[11] , …, m[5] , m[8] , m[6] , m[7] .


NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


Помощь проекту:

Понравилась статья? Поделиться с друзьями:
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
7 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

я крутой

M6.1. Дан массив. Поменять местами:
а) второй и пятый элементы

using System;
using System.Globalization;
using System.Linq;

namespace Practice 
{
  class Program
  {
    static void Main(string[] args)
    {
      // Объявляем одномерный массив

      int[] myArray = Enumerable.Range(1,5).ToArray();

      // Объявляем переменную Array2 для присвоение значения второго элемента

      int A = myArray[1];

      // Присваиваем второму элементу массива значение пятого элемента

      myArray[1] = myArray[4];

      // Присваиваем пятому элементу массива значение переменной A

      myArray[4] = A;

      // Печатаем значение второго и пятого элементов массива

      Console.WriteLine(myArray[1].ToString());

      Console.WriteLine(myArray[4].ToString());

    }
   
  }

}

M6.13. Удалить из массива: b)

using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;


namespace Learning_Csharp
{
    interface ISolution
    {
        void Result();
    }


    abstract class CreateArray
    {
        protected int[] array;


        private Random random = new Random();


        public CreateArray(int[] array) { this.array = array; }


        private void Create(ref int[] array, in Random rand)
        {
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = rand.Next(0,1000);
            }
        }


        protected void Create_Array()
        {
            Create(ref array, in random);
        }


        protected abstract void PrintArray(in int[] array);
    }


    class Solution : CreateArray, ISolution
    {
        int NumbersOfMoreUserValue { get; set; }


        int userNum { get; set; }


        int[] helperForArray;
        public Solution(int[] array, int userNum) : base(array)
        {
            this.userNum = userNum;
            Create_Array();
        }


        private int[] AnswerForMission()
        {


            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] > userNum)
                    NumbersOfMoreUserValue++;
            }


            helperForArray = new int[array.Length - NumbersOfMoreUserValue];


            int j = 0;


            for (int i = 0; i < helperForArray.Length; i++)
            {
                for (; j < array.Length; j++)
                {
                    if (array[j] < userNum)
                    {
                        helperForArray[i] = array[j];
                        j++;
                        break;
                    }
                }
            }


            return helperForArray;
        }


        protected override void PrintArray(in int[] array)
        {
            Console.Write("Array: ");
            for (int i = 0; i < array.Length; i++)
                Console.Write(array[i] + " ");
        }


        public void Result()
        {
            Console.WriteLine("Before change:");
            Console.WriteLine();
            PrintArray(in base.array);


            array = AnswerForMission();


            Console.WriteLine();


            Console.WriteLine("After change:");
            PrintArray(in base.array);
        }
    }


    class Resultate
    {
        public void PrintResult(ISolution solution) { solution.Result(); }
    }


    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Write your number: ");


            int.TryParse(Console.ReadLine(), out int userNumber);


            int numbersOfElement = 15;


            int[] array = new int[numbersOfElement];


            ISolution userSolution = new Solution(array, userNumber);


            var result = new Resultate();


            result.PrintResult(userSolution);
        }
    }
}

M6.8. Удалить из массива, в котором все элементы различны:
а) максимальный элемент;
б) минимальный элемент.

using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;


namespace Learning_Csharp
{
    abstract class CreateArray
    {
        protected int[] array;


        private readonly Random random = new Random();
        public CreateArray(int[] array)
        {
            this.array = array;
        }


        private void Create()
        {
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = random.Next(0, 100);
            }
        }


        protected void Create_Array()
        {
            Create();
        }


        public abstract void Result();
    }
    
    class Solution : CreateArray
    {
        private int MaxIndex { get; set; }


        private int MinIndex { get; set; }


        private List<int> listForArray = new List<int>();
        public Solution(int[] array) : base(array) { Create_Array(); }


        private void AnswerForMission()
        {
            Console.WriteLine();
            Console.Write("Массив до изменения: ");
            for (int i = 0; i < array.Length; i++)
                Console.Write(array[i] + " ");


            Console.WriteLine();
            MaxIndex = FindMaxIndex();


            MinIndex = FindMinIndex();


            for (int i = 0; i < array.Length; i++)
            {
                if (i != MaxIndex && i != MinIndex)
                    listForArray.Add(array[i]);
            }


            array = new int[listForArray.Count];


            for (int i = 0; i < listForArray.Count && i < array.Length; i++)
            {
                array[i] = listForArray[i];
            }


            Console.WriteLine();


            Console.Write("Массив после изменения: ");
            for (int i = 0; i < array.Length; i++) { Console.Write(array[i] + " "); }


        }


        private int FindMaxIndex()
        {
            int maxvalue = array[0];


            int maxindex = 0;


            for (int i = 0; i < array.Length; i++)
            {
                if (maxvalue < array[i])
                {
                    maxvalue = array[i];
                    maxindex = i;
                }
            }


            return maxindex; 
        }


        private int FindMinIndex()
        {
            int minvalue = array[0];


            int minindex = 0;


            for (int i = 0; i < array.Length; i++)
            {
                if (minvalue > array[i])
                {
                    minvalue = array[i];
                    minindex = i;
                }
            }


            return minindex;
        }




        public override void Result()
        {
            AnswerForMission();
        }
    }


    class Result
    {
        public void PrintResult(CreateArray userResult)
        {
            userResult.Result();
        }
    }


    class Program
    {
        static void Main(string[] args)
        {
            int NumbersOfElementsInArray = 10;
            int[] array = new int[NumbersOfElementsInArray];
            
            Solution userSol = new Solution(array);


            Result resultFromSolution = new Result();


            resultFromSolution.PrintResult(userSol);
        }
    }
}

#6.36
public void GetG()
    {
      Get();
      Console.WriteLine();
      for (int i = 0, j = l — 1; i < l / 2 && j < l; i++, j—)
      {
        Console.Write(arr[i]+» » + arr[j]+» «);
      }
    }

#6.5
public void GetF()
    {
      Get();
      int rec = 0;
      int rec1 = 0;
      int numI = 0;
      int numJ = 0;
      for (int i = l-1; i >= 0; i—)
      {
        numI++;
        if (arr[i] >= 0)
        {
          rec = arr[i];
          break;
        }
        if (arr[i] < 0 && arr[i] == arr[0])
        { Console.WriteLine(» — Положительных чисел нет»);}
      }
      for (int j = 0; j < l; j++)
      {
        numJ++;
        if (arr[j] < 0)
        {
          rec1=arr[j];
          break;
        }
        if (arr[j] > 0 && arr[j] == arr[l-1])
        { Console.WriteLine(» — Отрицательных чисел нет»);}
      }
      Console.WriteLine();
      for (int j = 0; j < l; j++)
      {
        arr[numJ-1] = rec;
        arr[l — numI] = rec1;

        Console.Write(arr[j]+» «);
      }
      Console.WriteLine(» — Измененный массив»);
    }

M6.15. Удалить из массива все повторяющиеся элементы, оставив их первые вхождения, т. е. в массиве должны остаться только различные элементы.

static void RemoveAt(ref int[] array, int index)
        {
            int[] newArray = new int[array.Length - 1];
            for(int i=0; i<index; i++)
            {
                newArray[i] = array[i];
            }
            for(int i=index+1; i<array.Length; i++)
            {
                newArray[i - 1] = array[i];
            }
            array = newArray;
        }
        static void Main(string[] args)
        {
            int[] arr = new int[10];
            Random rand = new Random();
            for(int i=0; i<arr.Length; i++)
            {
                arr[i] = rand.Next(3);
                Console.Write(arr[i] + " ");
            }
            Console.WriteLine();
            for (int i = 0; i < arr.Length-1; i++)
            {
                if(arr[i]==arr[i+1])
                {
                    RemoveAt(ref arr, i);
                }
            }
            for (int i = 0; i < arr.Length; i++)
            {
                
                Console.Write(arr[i] + " ");
            }
        }
7
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x