01/10/2018, 00:20

Sắp xếp tăng dẫn giảm dần trong mảng 1 chiều?

như tiêu đề,em làm xong nhưng kết quả vẫn không thay đổi,mọi người tìm xem em sai ở đâu với ???

#include<iostream>
#include<conio.h>
using namespace std;
void nhapmang(int a[],int &n);
void hienmang(int a[],int &n);
void sapxeptangdan(int a[],int n);
void sapxepgiamdan(int a[],int n);

void sapxeptangdan(int a[],int n)
{
    int temp;
    for(int i=0;i<n-1;i++)
        for(int j=i+1;j<n;j++)
    {
        if(a[i]>a[j])
            {
                a[i]=temp;
                a[i]=a[j];
                a[j]=temp;
            }
    }
}
void sapxepgiamdan(int a[],int n)
{
    int temp;
    for(int i=0;i<n-1;i++)
        for(int j=i+1;j<n;j++)
    {
        if(a[i]<a[j])
            {
                a[i]=temp;
                a[i]=a[j];
                a[j]=temp;
            }
    }
}
void nhapmang(int a[],int &n)
{
    do{
        cout<<"nhap so phan tu trong mang : ";
        cin>>n;
        if(n<0||n>30)
            cout<<"nhap lai
";
    }
    while(n<0||n>30);
    for(int i=0;i<n;i++)
    {
        cout<<"phan tu thu "<<i<<"trong mang : ";
        cin>>a[i];
    }
}

void hienmang(int a[],int &n)
{
    for(int i=0;i<n;i++)
        cout<<a[i]<<"  ";
}
int main()
{
    int n;
    int a[30];
    nhapmang(a,n);
    hienmang(a,n);
    cout<<" 
 sap xep tang dan"<<endl;
    sapxeptangdan(a,n);
    hienmang(a,n);
     cout<<"
 sap xep giam dan"<<endl;
    sapxepgiamdan(a,n);
    hienmang(a,n);
    getch();
}

Nguyễn Xuân Phúc viết 02:32 ngày 01/10/2018

a[i]=temp;
a[i]=a[j];
a[j]=temp;

a[i] = temp -> temp = a[i]

Tien_tran_97 viết 02:28 ngày 01/10/2018

tks a ,em hiểu rồi

pơ phếc viết 02:23 ngày 01/10/2018
for( int i=1; i<n; i++)
   for( int j=n-1; j>=i; j--)
       if( a[j]<a[j-1])
           {
               int temp = a[j];
               a[j] = a[j-1];
               a[j-1]=temp;
           }
Bài liên quan
0