PDA

View Full Version : سوال: برنامه مرتب سازی در آرایه- مشکل !!!



triumph
چهارشنبه 29 آبان 1392, 10:55 صبح
با سلام.خسته نباشید...
من ی برنامه ساده برای مرتب سازی مقادیر آرایه ام نوشتم نمیدونم چرا بعد از اجرا و گرفتن اعداد خطای زیر رو میده:
2Segmentation fault (core dumped)
اینم برنامه:



#include <stdio.h>

void ginput(int tmp[], int k);
void bubble(int tmp[], int k);
void goutput(int tmp[], int k);

int main()
{
const int k = 10;
int tmp[k];

ginput(tmp, k);
bubble(tmp, k);
printf("The store data are: \n");
goutput(tmp, k);
printf("\n");
return 0;
}


/**************************************
**************************************
*************************************/

void ginput(int tmp[], int len)
{
int i;
for(i=0; i<len; i++)
{
printf("index %d: ", i+1);
scanf("%d", &tmp[i]);
}

printf("Input array is: \n");
for(i=0; i<len; i++)
printf("%d, ", tmp[i]);
}

/**************************************
*************************************
*************************************/

void bubble(int tmp[], int k)
{
int i, j, item, len;
for(i=len-1; i>0; i--)
for(j=0; j<i; j++)
if(tmp[j]>tmp[j+1])
{
item = tmp[j];
tmp[j] = tmp[j+1];
tmp[j+1] = item;
}
}

/******************************************
*****************************************
*****************************************/

void goutput(int temp[], int len)
{
int i;
for(i=0; i<len; i++)
printf(" %3d", temp[i]);
}

aminsaeedi
چهارشنبه 29 آبان 1392, 15:18 عصر
مطمئن نیستم درست باشه یا نه ولی

این رو چک کنید
توی تابع مرتب سازی متغیر len مقدار نداره درست می گم

شما متغیر ورودیتون k هست که از متغیر len استفاده کردید

triumph
چهارشنبه 29 آبان 1392, 16:14 عصر
ممنون ...
حل شد داداش..خیلی لطف کردی