Jump to content
BulForum.com

Помощ за писане на програма на C


Recommended Posts

Задачата ми е да напиша програма, която да да намира елемент в масив чрез двоично търсене. Някой ако може да помогне, че нямам никаква идея какво точно трябва да направя. Благодаря предварително.

 

include<stdio.h>
#include<conio.h>
void main()
{
int a[10],n,i,j,temp;
int beg,end,mid,target;
clrscr();
printf(“enter the total numbers:");
scanf(“%d",&n);
printf(“enter the array elements:" );
for(i=0;i<n;i++)
scanf(“%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
If(a[j+1]<a[j])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf(“the sorted numbers are:");
for(i=0;i<n;i++)
printf(“%4d",a[i]);
beg=a[0];
end=a[9];
mid=(beg+end)/2;
printf(“\nenter the number to be searched:");
scanf(“%d",&target);
while(beg<=end && a[mid]!=target)/
{
if(target<a[mid])
end=mid-1;
else
beg=mid+1;
mid=(beg+end)/2;
}
If(a[mid]==target)
{
printf(“\nthe number is found at position %2d",mid);
}
else
{
printf(“\nthe number is not found:");
}
getch();
}

 

Този код върши ли работа ?

Link to comment
Share on other sites

Кода ти е доста неподреден и ме мързи даже да го гледам. Само като съвет - като пишеш такива неща слагай по-дълги и ясни наименования на променливите, отделяй части от кода във функции и не смесвай алгоритъма с потребителската част (в твоя случай с printf и scanf). Ако искаш примери за двоично търсене виж http://www.codecodex.com/wiki/Binary_search Там има импелементации на 12 езика включително С.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...