
22-02-2007, 22:25
|
|
|
|
חבר מתאריך: 16.09.05
הודעות: 196
|
|
|
שיטת חצייה
על התוכנית לקלוט x ולבדוק האם הוא נמצא במערך : A[8]={4,7,2,1,6,23,13,11}
באמצעות שיטת החצייה
ניסיתי לכתוב תוכנית לזה אבל היא לא עובדת כמו שצריך...ז"א אם אני מקליד 13 לדוגמא היא אומרת לי שהוא לא נמצא...
#define i 8
#include <stdio.h>
#include <conio.h>
void main (void)
{
int A[i]={1,2,7,9,13,19,23,29};
int Mid,R,L,x;
clrscr();
R=i-1;
L=0;
printf ("give x=");
scanf ("%d", &x);
while (R-L>1)
{
Mid=(R+L)/2;
if(Mid>x)
R=Mid;
else
L=Mid;
};
if (x==L)
printf ("Appeared in place L");
if (x==R)
printf ("Appeared in place R");
if (x!=R && x!=L)
printf ("not appeared");
getch();
}
|