PDA

View Full Version : مشکل در برنامه مرتب سازی ادغامی



abdollah69
دوشنبه 26 فروردین 1392, 18:05 عصر
این برنامه جواب درست نمیده اگه میشه کمک کنین؟
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
void mergesort(int*,int,int);
void merge(int*,int,int,int);
int main(){
int i,n;
cout<<"enter number of items:";
cin>>n;
int*A=new int [n];
cout<<"enter numbers:"<<endl;
for(i=0;i<n;i++)
cin>>A[i];
mergesort(A,0,n-1);
cout<<"\n\n"<<endl;
cout<<"mrgesort:"<<endl;
for(i=0;i<n;i++)
cout<<A[i]<<" ";
getch();
return 0;
}
void mergesort(int* A,int p,int r){
int q;
if(p<r){
q=(p+r)/2;
mergesort(A,p,q);
mergesort(A,q+1,r);
merge(A,p,q,r);
}
}
void merge(int *A,int p,int q,int r){
int n1,n2,*L,*R,i,j,k;
n1=q-p+1;
n2=r-q;
L=new int[n1+1];
R=new int[n2+1];
for(i=0;i<n1;i++){
L[i]=A[p+i];
i++;
}
for(j=0;j<n2;j++){
R[j]=A[q+j+1];
j++;
}
i=0;
j=0;
for(k=p;k<=r;k++)
if(j==n2||L[i]<=R[j]){
A[k]=L[i];
i++;
}
else{
A[k]=R[j];
j++;
}
}

jannatmakan
سه شنبه 27 فروردین 1392, 00:19 صبح
به آدرس زیر سری بزنید حتماً مفیده و مشکل های شما در مسائل پایه ای طراحی الگوریتم رو مرتفع می کنه.

http://www.algorithmha.ir/post-%D9%85%D8%B1%D8%AA%D8%A8-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A7%D8%AF%D8%BA%D8%A7%D9%85%DB%8C.aspx

UfnCod3r
سه شنبه 27 فروردین 1392, 08:46 صبح
کد ها را بین تگ ++Cقرار دهید . :عصبانی++::عصبانی++: لطفا"