PDA

View Full Version : برنامه sort و search



salam007
شنبه 09 خرداد 1394, 10:45 صبح
سلام دوستان
من برنامه ای رو میخواستم که اندازه یک آرایه را از کاربر بگیرد و سپس کاربر اعداد را وارد کند بعد از اون از طریق تابع bobsort از کوچک به بزرگ مرتب شوند و در تابع دیگری عددی را از کاربر بگیرد و با سرچ باینری چک بکند که آن عدد داخل اعداد وارد شده هست یا نه ؟
من تابع های bobsort و binary search رو پیدا کردم اما نمیتونم برنامه رو سرهم بکنم .ممنون میشم کمک بفرمایید .


تابع bobsort

#include <stdio.h>

int main()
{
int array[100], n, c, d, swap;

printf("Enter number of elements\n");
scanf("%d", &n);

printf("Enter %d integers\n", n);

for (c = 0; c < n; c++)
scanf("%d", &array[c]);

for (c = 0 ; c < ( n - 1 ); c++)
{
for (d = 0 ; d < n - c - 1; d++)
{
if (array[d] > array[d+1]) /* For decreasing order use < */
{
swap = array[d];
array[d] = array[d+1];
array[d+1] = swap;
}
}
}

printf("Sorted list in ascending order:\n");

for ( c = 0 ; c < n ; c++ )
printf("%d\n", array[c]);

return 0;
}




و تابع باینری سرچ

int main()
{
int c, first, last, middle, n, search, array[100];

printf("Enter number of elements\n");
scanf("%d",&n);

printf("Enter %d integers\n", n);

for ( c = 0 ; c < n ; c++ )
scanf("%d",&array[c]);

printf("Enter value to find\n");
scanf("%d",&search);

first = 0;
last = n - 1;
middle = (first+last)/2;

while( first <= last )
{
if ( array[middle] < search )
first = middle + 1;
else if ( array[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.\n", search);

return 0;
}

-Geek-
سه شنبه 12 خرداد 1394, 01:28 صبح
بفرمایید این هم کدش (http://runnable.com/VW1CnmgXnrRVOdj-/combining-bubble-sort-and-binary-search-as-a-program)
تا جایی که وقت شد کامنت های راهنمایی رو برای کد نوشتم که بفهمی چه خبره
نحوه ی کار bubble sort و binary search رو هم که خودتون بلدید.