Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop_1 / ЛК / Лекция 8-9Массивы.doc
Скачиваний:
46
Добавлен:
10.06.2015
Размер:
410.62 Кб
Скачать

Поиск максимального ( или минимального ) элемента массива

Алгоритм поиска. Делается предположение, что 1-й элемент массиваmax(min), затем все элементы массива сравниваются с ним. Если во время проверки обнаруживается, что очередной элемент больше (меньше) принятого заmax(min), то этот элемент становится максимальным (минимальным).

Задача 1. В массивеXиз 10 элементов вычислить наибольший элемент массива и его номер.

static void Main(string[] args)

{

int[] X = new int[10]{-5, 6, -8, 2, 4, 9, -7, 4, 1, 0};

// одномерный массив Х из 10 целых чисел

intXmax; // максимальный элемент

intImax; // номер максимального элемента

for (int i = 0; i < 10; i++)

Console.WriteLine("X[" + i + "]=" + X[i]);

Console.WriteLine(); // вывод элементов массива

Xmax=X[0]; // предположение

Imax = 0;

for (int i = 1; i < 10; i++)

if (X[i] > Xmax)

{

Xmax = X[i]; // выявление max

Imax = i;

}

Console.WriteLine("Максимальный элемент: {0} ", Xmax);

Console.WriteLine("Его номер: {0} ", Imax+1);

Console.ReadKey();

}

При выявлении минимального элемента условие > заменяется на < :

if(X[i] <Xmin)

{

Xmin = X[i]; // выявление min

Imin = i; // его номера

}

Поиск заданного элемента массива

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

Поиск осуществляется последовательным сравнением элементов массива с образцом до тех пор, пока не будет найден элемент, равный образцу, или пока не будут проверены все элементы.

Для поиска элементов используют операторы цикла for,whileилиdo ...while

Задача2. Найти заданный элемент в массиве и вывести его на экран дисплея.

static void Main(string[] args)

{

int[] Mas = new int[10]{-5, 6, -8, 2, 4, 9, -7, 4, 1, 0};

// одномерный массив Masиз 10 целых чисел

int obr; // образец для поиска

bool Yes; // признак обнаружения

int i; //счетчик цикла

for (i = 0; i < 10; i++)

Console.WriteLine("Mas[" + i + "]=" + Mas[i]);

Console.WriteLine();

Console.WriteLine("Введите образец для поиска");

obr = Convert.ToInt16(Console.ReadLine());

Yes = false;

i=0;

do

{

if (Mas[ i ]==obr )

{

Yes=true;

break;

}

else i=i+1;

}

while ( i<10 | Yes == true);

if (Yes == true) Console.WriteLine("Имеется

совпадение с элементом {0}. Его индекс: {1}", Mas[i], i );

else Console.WriteLine("Совпадение с образцом отсутствует ");

Console.ReadKey();

}

Соседние файлы в папке ЛК