Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
При решении многих задач возникает необходимость определить, содержит ли массив определенную информацию или нет. Например, проверить, есть ли в списке студентов фамилия Петров. Задачи такого типа называются поиском в массиве.
Для организации поиска в массиве могут быть использованы различные алгоритмы. Наиболее простой — это алгоритм простого перебора. Поиск осуществляется последовательным сравнением элементов массива с образцом до тех пор, пока не будет найден элемент, равный образцу, или не будут проверены все элементы. Алгоритм простого перебора применяется, если элементы массива не упорядочены.
В листинге 5.3 приведен пример поиска заданного элемента массива простым перебором. Перебор элементов массива осуществляется инструкцией while, в теле которой инструкция if сравнивает текущий элемент массива с образцом и прерывает цикл с помощью оператора break, если текущий элемент и образец равны.
// poiskOpredElementa.cpp: Defines the entry point for the console application.
//Листинг 5.3. Простой перебор
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main(int argc, char* argv[])
{
const int SIZE =10;//razmer massiva
int a[SIZE];
// vvod massiva
for (int i = 0; i < SIZE; i++)
{
a [i]= 1 + rand () % 10;//massiv tselyh chisel
cout << a[i] << '\t';
} // end for
int obr; // obrazets dlya poiska
// vvod obraztsa dlya poiska
cin >> obr;
// poisk zadannogo elementa massiva pereborom
int i=0;
while(i <= SIZE-1)
{
if (a[i]==obr)
{
cout << "Sovpadenie s elementom nomer"
<< i <<"\t" << a[i]<<endl;
break;
} // end if
else
if (i==SIZE-1)
cout <<"i= " << i << "sovpadeniya net!";
i++;
} // end while
getch();
return 0;
}
Дата публикования: 2014-12-11; Прочитано: 371 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!