Составить программу: 1. организовать одномерный массив из n элементов 2. организовать двоичный поиск заданного элемента.
218
304
Ответы на вопрос:
//dev-c++ 5.11 #include < stdio.h> int binaryfounder(int*,int,int,int,int*); int main(void) {int ar[100],n,res=-1,i,j,buf,val,arind[100]; scanf("%d",& n); for(i=0; i< n; i++) scanf("%d",& ar[i]); printf("enter searching value: "); scanf("%d",& val); for(i=0; i< n; i++) arind[i]=i; for(i=0; i< n-1; i++) for(j=i+1; j< n; j++) if(ar[i]> ar[j]) {buf=ar[i]; ar[i]=ar[j]; ar[j]=buf; buf=arind[i]; arind[i]=arind[j]; arind[j]=buf; } binaryfounder(ar,0,n-1,val,& res); if (res==-1) printf("not found"); else printf("found in position %d",arind[res]); return 0; } int binaryfounder(int ar[],int left,int right,int val,int* res) {int kar=(left+right)/2; if (*res! =-1) return 0; if (left> right) return 0; if (ar[kar]==val) *res=kar; if (ar[kar]< val) binaryfounder(ar,kar+1,right,val,res); if (ar[kar]> val) binaryfounder(ar,left,kar-1,val,res); } пример ввода: 5 1 2 3 4 5 4 пример вывода: found in position 3 //считаем с 0
Var x: integer; begin writeln('введите значение числа x'); readln(x); writeln('y=|',abs(x),'|'); end.
Популярно: Информатика
-
svettapan03.05.2023 03:07
-
p0m41k25.06.2021 16:54
-
MissOmnomno08.02.2023 17:52
-
vorobyv200408.04.2022 19:39
-
Oueio25.02.2021 03:34
-
саня136111.04.2021 14:08
-
magic000018.08.2020 01:46
-
Гектор3106.08.2022 05:30
-
кабанерий06.10.2020 02:10
-
ManemiDragnil14.08.2021 06:23