ВУЗ:
Составители:
Рубрика:
Console.WriteLine("Введите элементы массива:");
for (int i = 0; i < n; i++)
int.TryParse(Console.ReadLine(), out a[i]);
int max = a[0];
for (int i = 1; i < n; i++)
if (a[i] > max)
max = a[i];
Console.WriteLine("max = {0}", max);
}
}
}
Задача 3. Определить количество минимальных элементов массива.
Рассмотрим два алгоритма решения этой задачи. Первый алгоритм (более
понятный) заключается в разбиении исходной задачи на две подзадачи:
нахождение минимального элемента и подсчет количества равных ему
элементов. Заметим, что при этом приходится дважды просмотреть весь
массив.
Второй алгоритм (более эффективный) решает обе подзадачи за один
просмотр массива. Так же, как в предыдущей задаче, предполагаем, что
первый элемент может являться минимальным. Соответственно, количество
минимальных элементов в начальный момент равно 1. Встретив элемент,
совпадающий с текущим минимумом, увеличиваем их количество на 1. Если
же найден элемент, меньший текущего минимума, то меняем минимум на
новый и устанавливаем количество в 1.
Блок-схемы, описывающие эти алгоритмы, представлены на Рис.4.7 и
Рис.4.8.
Код программы для задачи 3 (алгоритм 1).
using System;
namespace Examples
{
class Program1
{
static void Main(string[] args)
{
int n;
int[] a;
Console.Write("Введите количество элементов массива n:");
int.TryParse(Console.ReadLine(), out n);
if (n <= 0)
{
Console.WriteLine("Введите положительное n\n");
return;
}
a = new int[n];
if (a == null)
{
Console.WriteLine("Запрошено большое количество памяти.");
Console.WriteLine("Введите элементы массива:");
for (int i = 0; i < n; i++)
int.TryParse(Console.ReadLine(), out a[i]);
int max = a[0];
for (int i = 1; i < n; i++)
if (a[i] > max)
max = a[i];
Console.WriteLine("max = {0}", max);
}
}
}
Задача 3. Определить количество минимальных элементов массива.
Рассмотрим два алгоритма решения этой задачи. Первый алгоритм (более
понятный) заключается в разбиении исходной задачи на две подзадачи:
нахождение минимального элемента и подсчет количества равных ему
элементов. Заметим, что при этом приходится дважды просмотреть весь
массив.
Второй алгоритм (более эффективный) решает обе подзадачи за один
просмотр массива. Так же, как в предыдущей задаче, предполагаем, что
первый элемент может являться минимальным. Соответственно, количество
минимальных элементов в начальный момент равно 1. Встретив элемент,
совпадающий с текущим минимумом, увеличиваем их количество на 1. Если
же найден элемент, меньший текущего минимума, то меняем минимум на
новый и устанавливаем количество в 1.
Блок-схемы, описывающие эти алгоритмы, представлены на Рис.4.7 и
Рис.4.8.
Код программы для задачи 3 (алгоритм 1).
using System;
namespace Examples
{
class Program1
{
static void Main(string[] args)
{
int n;
int[] a;
Console.Write("Введите количество элементов массива n:");
int.TryParse(Console.ReadLine(), out n);
if (n <= 0)
{
Console.WriteLine("Введите положительное n\n");
return;
}
a = new int[n];
if (a == null)
{
Console.WriteLine("Запрошено большое количество памяти.");
Страницы
- « первая
- ‹ предыдущая
- …
- 42
- 43
- 44
- 45
- 46
- …
- следующая ›
- последняя »
