Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Преобразование и построение одномерных массивов



Линейный поиск в массиве

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

Пример 1. Найти первый положительный элемент массива.

#include <iostream.h>

main()

{ const int n=5;

int m[n]={-1,-2,-1,3,-5};

int I;

for (I=0;I<n && m[I]<=0;I++)

;

if(I>=n)

cout<<”no”;

else

cout<<m[I];

}

Пример 2. Найти все простые числа, меньшие заданного натурального числа n.

Вариант 2.

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

#include <iostream.h>

main()

{ long d,k,n,m,i;

long p[100];

cin>>n;

k=5; m=0;

p[0]=3;

cout<<1<<endl<<2<<endl<<3<<endl;

while (k<=n)

{ for (i=0;i<=m && p[i]*p[i]<=k && k%p[i]!=0;i++)

;

if(i>m || p[i]*p[i]>k)

{ cout<<k<<endl;

m=m+1;

p[m]=k;

}

k=k+2;

}

}





Дата публикования: 2015-09-17; Прочитано: 359 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...