Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2015, 15:50   #1
shadow155
Пользователь
 
Регистрация: 11.06.2015
Сообщений: 14
По умолчанию Объяснить кода

Двоичный поиск
Код:
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "stdio.h"
using namespace std;


int BinarySearch(int A[], int key,int N)
{
 int left=0, right=N-1, mid;  
 while (left<=right)
 {
	 mid=left+(right-left)/2;
	 if (key<A[mid])
		 right=mid-1;
	 else 
		 if (key>A[mid])  
			 left=mid+1;     
		 else 
			 return mid;
 }
 return -1;
}
//главная функция
void main()
{
 setlocale(LC_ALL,"Rus");
 int i, key,N;
 int A[100];
 cin>>N;
 for (i=0; i<N; i++)
	 cin>>A[i];
 cout<<"Искомый элемент > "; 
 cin>>key; //ввод ключа
 if (BinarySearch(A, key,N)==-1)
	 cout<<"\nЭлемент не найден";
 else 
	 cout<<"\nНомер элемента: "<<BinarySearch(A, key,N);
 _getche();}



Линейный поиск
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int i, N;

int LineSearch(int A[], int key)
{
for (i=0; i<N; i++)
if (A[i]==key) 
return i;
return -1;
}

void main()
{
setlocale(LC_ALL,"Rus");
int key, A[1000];
cout<<"Размер массива > "; 
cin>>N;

cout<<"Исходный массив: ";
for (i=0; i<N; i++)
{
cin>>A[i];
}
cout<<endl;
cout<<"Искомый элемент > "; 
cin>>key;
cout<<endl;
if (LineSearch(A, key)==-1)
cout<<"\nЭлемент не найден";
else 
cout<<"\nНомер элемента: "<<LineSearch(A, key);
_getche();
}

Последний раз редактировалось Stilet; 18.06.2015 в 17:06.
shadow155 вне форума Ответить с цитированием
Старый 19.06.2015, 02:11   #2
shadow155
Пользователь
 
Регистрация: 11.06.2015
Сообщений: 14
По умолчанию

Как читается if (BinarySearch(A, key,N)==-1)
cout<<"\nЭлемент не найден";
else
cout<<"\nНомер элемента: "<<BinarySearch(A, key,N);?
Чем отличается int BinarySearch(int A[], int key,int N)
от BinarySearch(A, key,N)?
shadow155 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JavaScript выпадающее меню,объяснить часть кода Alina111 Помощь студентам 1 10.10.2014 15:47
Объяснить KIRILOW Помощь студентам 0 24.12.2012 10:29
объяснить поведение кода denis7656 JavaScript, Ajax 6 24.04.2012 23:15
Pascal ABC буду благодарна в объяснении кода задачи(код есть нужно объяснить ее) Maliish Помощь студентам 0 03.03.2012 00:38
Объяснить каждую строку кода!Очень нужно Kugen Общие вопросы Delphi 0 18.12.2010 17:40