![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.12.2010
Сообщений: 25
|
![]()
Ребят, написал, обрадовался, а бинарный поиск не работает, хотя если убрать сортировку все работает
![]() #include "stdafx.h" #include<iostream> #include "conio.h" #include <stdlib.h> using namespace std; int main(int argc, char* argv[]) {setlocale(LC_ALL,".1251"); const int MAX_SIZE=100; int x[MAX_SIZE]; int i,n; cout << "Введите число элементов массива:\n"; cin >> n; for (int i=0; i<n; ++i ){ x[i]=rand()%100-50 ; cout<<x[i] << " "; } cout<<"\n"<<"удаляем максимальный элемент:\n"; int max = x[0]; int M; for (int i=0; i<n; ++i ){ if (max<x[i]){ max=x[i]; M=i; } } for (int i= M; i<n; ++i) x[i]=x[i+1]; n-=1; for (int i=0; i<n; ++i) cout<<x[i]<<" "; cout<<"\n введите количество элементов, добавляемых в начало массива:\n"; cin>>M; for(i=n;i>=0;--i) x[i+M]=x[i]; for(int i=0;i<M;++i) x[i]=rand()%100-50; for(int i=0;i<n+M;++i) cout<<x[i]<<" "; n+=M; cout<<"\n переворачиваем массив:\n"; int k; for (i=0;i<n/2;++i) { k=x[i]; x[i]=x[n-1-i]; x[n-1-i]=k; } for(int i=0;i<n;++i) cout<<x[i]<<" "; cout<<"\n первый чётный элемент последовательности:\n"; int l,d; for(i=0;i<n/2;++i){ if (x[i]%2==0){ l=x[i]; d=l; cout<<d<<"\n количество сравнений:\n"; l=i+1; cout<<l<<" "; break;}} cout<<"\n сортируем массив методом простого обмена:\n"; int y; int A; for(i=1;i<n;++i){ for(y=n-1;y>=i;--y){ if(x[y-1]>x[y]){ A=x[y-1]; x[y-1]=x[y]; x[y]=A;}}} for(int i=0;i<n;++i) cout<<x[i]<<" "; cout<<"\n находим первый чётный элемент бинарным поиском:\n "; l=0; int first=0; int last=n-1; while (first<last){ int sr=(first+last)/2; if(x[sr]%2){ last=sr; l++;} else{ first=sr+1; l++;}} if(x[last]==d){ cout<<d<<" "<<"\nчисло сравнений:\n"<<l<<"\nнайден на месте:\n"<<last+1;} getch(); return 0;} Последний раз редактировалось nhr; 14.12.2010 в 17:36. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[B]Не работает бинарный поиск![/B] | sabaton | Общие вопросы C/C++ | 2 | 21.09.2010 20:51 |
Бинарный поиск | CraZZZy-GameRRR | Общие вопросы Delphi | 8 | 25.05.2010 14:57 |
Бинарный поиск | 0IceCube0 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 13.04.2010 15:52 |
Бинарный поиск | Gendalf | Помощь студентам | 1 | 07.07.2007 22:09 |