ВУЗ:
Составители:
Рубрика:
53
a = new int[n];
if (a == null)
{
Console.WriteLine("Запрошено большое количество памяти.");
Console.WriteLine("Попробуйте ввести меньшее количество.");
return;
}
Console.WriteLine("Введите элементы массива:");
for (int i = 0; i < n; i++)
int.TryParse(Console.ReadLine(), out a[i]);
for (int i = 0; i < n - 1; i++)
{
int f = 0;
for (int j = 0; j < n - i - 1; j++)
if (a[j] > a[j + 1])
{
int z = a[j]; a[j] = a[j + 1]; a[j + 1] = z; f = 1;
}
if (f == 0)
break;
}
Console.WriteLine("Отсортированный массив:");
for (int i = 0; i < n; i++)
Console.Write("{0} ", a[i]);
Console.WriteLine();
}
}
}
Задача 6. Осуществить слияние двух отсортированных по возрастанию
массивов.
Поскольку оба исходных массива упорядочены, минимальные элементы
в них стоят на первом месте. Выбираем из них наименьший и заносим его во
вновь создаваемый массив. Далее следует исключить этот элемент из
рассмотрения посредством перехода к следующему элементу того массива,
откуда был взят минимальный элемент. Повторяем эти действия со
следующей парой элементов (с наименьшими из нерассмотренных элементов
исходных массивов) и так до тех пор, пока не закончится один из массивов.
Остатки второго массива просто переносим в конец нового массива.
Блок-схема решения задачи 6 показана на Рис.4.12.
Код программы для задачи 6.
using System;
namespace Examples
{
a = new int[n];
if (a == null)
{
Console.WriteLine("Запрошено большое количество памяти.");
Console.WriteLine("Попробуйте ввести меньшее количество.");
return;
}
Console.WriteLine("Введите элементы массива:");
for (int i = 0; i < n; i++)
int.TryParse(Console.ReadLine(), out a[i]);
for (int i = 0; i < n - 1; i++)
{
int f = 0;
for (int j = 0; j < n - i - 1; j++)
if (a[j] > a[j + 1])
{
int z = a[j]; a[j] = a[j + 1]; a[j + 1] = z; f = 1;
}
if (f == 0)
break;
}
Console.WriteLine("Отсортированный массив:");
for (int i = 0; i < n; i++)
Console.Write("{0} ", a[i]);
Console.WriteLine();
}
}
}
Задача 6. Осуществить слияние двух отсортированных по возрастанию
массивов.
Поскольку оба исходных массива упорядочены, минимальные элементы
в них стоят на первом месте. Выбираем из них наименьший и заносим его во
вновь создаваемый массив. Далее следует исключить этот элемент из
рассмотрения посредством перехода к следующему элементу того массива,
откуда был взят минимальный элемент. Повторяем эти действия со
следующей парой элементов (с наименьшими из нерассмотренных элементов
исходных массивов) и так до тех пор, пока не закончится один из массивов.
Остатки второго массива просто переносим в конец нового массива.
Блок-схема решения задачи 6 показана на Рис.4.12.
Код программы для задачи 6.
using System;
namespace Examples
{
53
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »
