Во время выполнения результирующего цикла не нарушается оператор
#include<stdio.h> int a[100],c,n,search; void L_search(int); void B_search(int); int main() { int ch; printf("Enter the number of element:"); scanf("%d",&n); printf("Enter %d elements:\t",n); for(c=0;c<n;c++) { scanf("%d",&a[c]); } printf("Enter that element to search>>"); scanf("%d",&search); printf("way to search an element..."); printf("\n1.Linear search\n2.Binary search\n"); printf("choose any...>>"); scanf("%d",&ch); while(ch) { switch(ch) { case 1: printf("Searching in Linear way...\n"); L_search(search); break; case 2: printf("Searching in binary way...\n"); B_search(search); break; default : printf("Invalid option.\nPlease try again"); } } return 0; } void L_search(int) { for(c=0;c<=n;c++) { if (a[c]==search) { printf("%d is present at location %d.\n", search, c+1); break; } else printf("Number Not Found"); } } void B_search(int) { int first = 0; int last = n-1; int middle = (first+last)/2; while (first <= last) { if(a[middle] < search) { first = middle + 1; } else if(a[middle] == search) { printf("%d found at location %d\n", search, middle+1); break; } else { last = middle - 1; } middle = (first + last)/2; } if(first > last) { printf("Not found! %d is not present in the list.",search); } }
Что я уже пробовал:
я попытался запустить... программа работает успешно, но после ввода значения во время выполнения результата ... результирующий цикл не нарушает своего оператора...