PDA

View Full Version : آموزش: سورس برنامه مرتب سازی ادغامی به زبان سی شارپ - همراه با مستندات (توضیح برنامه)



اسماعیل ابراهیمی
سه شنبه 01 آذر 1390, 10:46 صبح
سورس برنامه مرتب سازی ادغامی به زبان سی شارپ - همراه با مستندات (توضیح برنامه)

gh_mohammady
چهارشنبه 08 آذر 1391, 18:04 عصر
سپاس گزارم و آیا این برنامه رو خودتون نوشتید؟
از جسارتم عذر می خوام اما برام مهمه ...

اسماعیل ابراهیمی
چهارشنبه 08 آذر 1391, 18:38 عصر
والا عزیز نمی دونم

ماله یه سال پیشه

الگوریتمش که ساده است

شاید از یه سایت خارجی گرفته باشم یا شاید خودم نوشتمش

باور کن یادم نیست ....

ولی احتمال اینکه ماله من نباشه بیشتره

cn.khalij
پنج شنبه 08 آبان 1393, 20:53 عصر
سورس برنامه اي كه تعداد زيادي عدد بگيرد از ورودي و اعداد را با روش مرتب سازي راديكس مرتب كند را ميخوام
اگه ميشه راهنمايي كنيد به زبان سي شارپ console

khokhan
پنج شنبه 08 آبان 1393, 21:08 عصر
سورس برنامه اي كه تعداد زيادي عدد بگيرد از ورودي و اعداد را با روش مرتب سازي راديكس مرتب كند را ميخوام
اگه ميشه راهنمايي كنيد به زبان سي شارپ console


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Sort(int[] old)
{
int i, j;
int[] tmp = new int[old.Length];
for (int shift = 31; shift > -1; --shift)
{
j = 0;
for (i = 0; i < old.Length; ++i)
{
bool move = (old[i] << shift) >= 0;
if (shift == 0 ? !move : move)
old[i - j] = old[i];
else
tmp[j++] = old[i];
}
Array.Copy(tmp, 0, old, old.Length - j, j);
}
}
static void Main(string[] args)
{
int[] old = new int[] { 2, 5, 1, -3, 4 };
Console.WriteLine(string.Join(", ", old));
Sort(old);
Console.WriteLine(string.Join(", ", old));
Console.Read();
}
}
}

mandanim
جمعه 09 آبان 1393, 13:44 عصر
در صورتیکه بخواهیم مراحلشو هم نشون بده
میتونم این رو بنویسیم


// Sa.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
# include <iostream>
using namespace std;

//start merge Sort :
void merge(int arr[ ] , int low, int high){
int mid=(low+high)/2;
int Ass1=arr[low];
int Ass2=arr[high];


int j = low;
for (int i = mid + 1 ; i <= high ; i++){
while (arr[ j ] <= arr[ i ] && j < i)
j++;
if (j == i)
break;

int t = arr[ i];
for (int k = i ; k > j ; k--){
arr[ k ] = arr[k-1];
}
arr[ j ] = t;
}//end for i
}//end merge

void merge_sort (int arr[ ] , int low , int high,int fo)
{
if (low >= high)
return;
int mid = (low + high) / 2;
merge_sort (arr , low , mid,fo);
merge_sort (arr , mid + 1 , high,fo);
merge(arr , low , high);
cout<<"\t";
for(int i=0;i<fo;i++)
cout<<arr[i]<<" ";
cout<<"\n";
}//end merge_sort

int main(){
int n;
cout<<"Tedad Adad:";
cin>>n;
int *a= new int [n];
for(int i=0;i<n;i++){
cout<<"Number "<<i+1<<" :";
cin>>a[i];
cout<<"\n";
}//end for i
cout<<"\t";
for(int i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<"\n";
merge_sort(a,0,n-1,n);
cout<<"Sort Number :"<<endl;
for(int i=0;i<n;i++)
cout<<a[i]<<endl;
cout<<"Elnaz Saedi"<<endl;
system ("pause");
return 0;
}//end programme

maryam2077
سه شنبه 28 بهمن 1393, 11:31 صبح
سورس برنامه مرتب سازی ادغامی به زبان سی شارپ - همراه با مستندات (توضیح برنامه)

خیلیییییییییییییییییییییی یی ممنون