Задать массив целых чисел длиной 24 - C (СИ)
Формулировка задачи:
1. Задать массив целых чисел длиной 24
2. Предусмотреть в программе ввода элементов массива с клавиатуры, чтение из файла или
заполнения массива псевдослучайными числами.
3. Вывести исходный массив на экран.
4. Осуществить поиск в массиве, используя известные алгоритмы поиска.
5. Выполнить обработку исходного массива в соответствии с вариантом, вывести обработанный массив на экран.
6. Выполнить сортировку элементов массива, используя известные алгоритмы сортировки, вывести обработанный массив на экран. Поменять местами 1-й отрицательный элемент с последним
отрицательным элементом, 2-й - предпоследним и т.д.
Вывести элементы массива на экран.
ПРИМЕЧАНИЕ. Считать ноль положительным числом.
диапазон значений элементов массива (целые величины): -10...25
Решение задачи: «Задать массив целых чисел длиной 24»
textual
Листинг программы
using System; using System.Linq; class Program { static void Main() { int[] arr = Enumerable.Repeat(new Random(), 24).Select(r => r.Next(-10, 26)).ToArray(); Console.WriteLine(String.Join(", ", arr)); int[] negativeIndexes = Enumerable.Range(0, arr.Length).Where(i => arr[i] < 0).ToArray(); for (int i = 0, j = negativeIndexes.Length - 1; i < j; i++, j--) { int t = arr[negativeIndexes[i]]; arr[negativeIndexes[i]] = arr[negativeIndexes[j]]; arr[negativeIndexes[j]] = t; } Console.WriteLine(String.Join(", ", arr)); } }
Объяснение кода листинга программы
- Создается массив целых чисел длиной 24 с помощью класса
Random
и методаNext
(строкаint[] arr = Enumerable.Repeat(new Random(), 24).Select(r => r.Next(-10, 26)).ToArray();
). - Выводится на консоль в формате строки, разделенной запятыми (строка
Console.WriteLine(String.Join(
,, arr));
). - Создается новый массив, содержащий индексы элементов первого массива, которые меньше нуля (строка
int[] negativeIndexes = Enumerable.Range(0, arr.Length).Where(i => arr[i] < 0).ToArray();
). - Используя два вложенных цикла, элементы массива
arr
переупорядочиваются так, чтобы все отрицательные числа находились в начале массива (внешний цикл:for (int i = 0, j = negativeIndexes.Length - 1; i < j; i++, j--
). - Выводится на консоль в формате строки, разделенной запятыми (строка
Console.WriteLine(String.Join(
,, arr));
).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д