מבוא לתכנות ולמדעי המחשב בשפת C/חיפוש בינארי, מערכים דו ממדיים, אתחול מערכים ומחרוזות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
שורה 10:
<syntaxhighlight>
#include <stdio.h>
#include <stdlib.h>
 
int main() {
int N=47;
int a[N],i,j;
 
for(i=0; i<N; ++i) {
a[i] = rand()%100+1;
printf("Please enter a number:\n");
scanf("%d",& a[i] );
}
 
// sorting..
for(i=0; i<N-1; ++i) // a[i] will be the smallest of i..N-1
for(j=i+1; j<N; ++j)
שורה 26 ⟵ 28:
a[j] = t;
}
 
printf("The sorted array: ");
for(i=0; i<N; ++i)
scanfprintf("%d",& ",a[i] );
printf("\n");
// binary search..
while (1) {
int k;
printf("Please enter a number to check if it's already stored: ");
scanf("%d",&k);
 
int found = 0; // false
iint begin=0;
jint end=N-1;
while (jend >=i begin) {
int tmiddle = (ibegin+jend)/2;
if(k == a[tmiddle]) {
printf("Yes, %d, it is already in\n",k);
found = 1;
break;
}
else
if(k > a[tmiddle])
ibegin = tmiddle+1;
else // case: k < a[tmiddle])
jend = tmiddle-1;
}
if(!found)
printf("No, your number%d is *not* in the array\n",k);
}
return 0;
}
 
 
</syntaxhighlight>
(שימו לב שהקוד מכיל לולאה אין סופית של פניה למשתמש בכדי לצאת יש ללחוץ על מקש Ctrl ובו זמנית על המקש C)