-
مشکل با کد مرتب سازی
سلام دوستان من کد مرتب سازی حبابی رو نوشتم میخوام تابع مرتب سازی نیمی از یک آرایه ی global بگیره مرتب کنه بعد بریزه تو یه آرایه دیگه یا اوال بریزه توی آرایه دیگه بعد مرتب کنه اما هیچ کدوم جواب نمیده میشه بگید مشکل کد چیه؟ خیلی ضروریه
کد:
#include <cstdlib>
#include <stdio.h>
using namespace std;
//int n; /*size of array*/
#define n 5
int arrayA[n]={6,4,7,2,1};
int half1[n];
void sort1(int a,int b);
int main()
{
int start=0;
int end=(n/2)-1;
sort1(start,end);
for(int i=0;i<n;i++)
{cout<<half1[i];}
}
void sort1(int a,int b)
{
int s = a;
int e = b;
int temp;
for(int i=e-1;i>1;i--)
{
for(int j=s;j<i;j++)
{
if(arrayA[j]>arrayA[j+1])
{
temp = arrayA[j];
arrayA[j] = arrayA[j+1];
arrayA[j+1] = temp;
}
}
}
for(int t=s;t<e;t++)
{
half1[t]=arrayA[t];
}
}
اینم راه دوم
کد:
#include <iostream>
#include <cstdlib>
#include <stdio.h>
using namespace std;
//int n; /*size of array*/
#define n 10
int arrayA[n]={6,4,7,2,1,3,9,8,5,0};
int half1[n];
void sort1(int a,int b);
int main()
{
int start=0;
int end=(n/2)-1;
sort1(start,end);
for(int i=0;i<n;i++)
{cout<<half1[i];}
}
void sort1(int a,int b)
{
int s = a;
int e = b;
int temp;
for(int t=s;t<e;t++)
{
half1[t]=arrayA[t];
}
for(int i=e-1;i>1;i--)
{
for(int j=s;j<i;j++)
{
if(half1[j]>half1[j+1])
{
temp = half1[j];
half1[j] = half1[j+1];
half1[j+1] = temp;
}
}
}
}