PDA

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



sinaeslami
چهارشنبه 02 آذر 1390, 09:24 صبح
من برنامه زیر رو نوشتم ولی مشکلش رو نمیتونم حل کنم
سوال : برنامه ای که عناصر قطر فرعی یک آرایه n*n را به روش انتخابی به صورت نزولی مرتب سازی کند
(مراحل اجرای عملیات مرتب سازی نمایش داده شود.)

الان مشکل اینجاست که وقتی عناصر قطر فرعی رو پیدا کرد نمیتونم بفرستمش تو یه آرایه ی دیگه که واسم به صورت نزولی مرتبش کنه
نمیدونم که دستور چاپ خروجی رو دقیقاً‌ کجا بذارم که مراحل اجرای عملیات مرتب سازی رو نشون بده



#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <iomanip.h>

void main ()
{
clrscr();
randomize();
const int n=5; //tedaade satro sotoon
int a[n][n],arr[n],i,j,max,temp;

// Tolid Anasor Matris

for (i=0; i<n; i++) //ye seri adad be sorate random entekhaab kon
{
for (j=0; j<n; j++)
{
a[i][j]=random(100); //adadhaa az 0 taa 100
cout<<setw(4)<<a[i][j];
}
cout<<endl;
}
cout<<endl<<endl;

// Anaasor ghotre farei:

cout<<"anaasore ghotre farei: ";
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{ if( i == n-j-1 )
cout<< setw(4)<<a[i][j];
}
}

cout<<endl<<endl<<"selection sort: ";
cout<<endl;

//void selectionSort(int *array,int arr[n]) //selection sort function
{
arr[n]=a[i][j];

for (int k=0; k<(arr[n]-1); k++) //az aval taa aakhare aaraaye ro barresi kon
{
max=k;

for (int z=k+1; z<k; z++) //entekhaabe max dar aaraaaye
{
if ( arr[max] > arr[z]) //tartibe nozooli
max = z; //makaane onsore bozorg

} cout<<setw(4)<<arr[];
}

temp=arr[k];
arr[k]=arr[max];
arr[max]=temp;

}


getch();

}

kivoon
چهارشنبه 02 آذر 1390, 19:57 عصر
سلام دوست عزیز اینم از جواب شما :
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <iomanip.h>
void main ()
{
clrscr();
randomize();
const int n=5; //tedaade satro sotoon
int a[n][n],arr[n],i,j,temp;// Tolid Anasor Matris
for (i=0; i<n; i++) //ye seri adad be sorate random entekhaab kon
{
for (j=0; j<n; j++)
{
a[i][j]=random(100); //adadhaa az 0 taa 100
cout<<setw(4)<<a[i][j];
}
cout<<endl;
}
cout<<endl<<endl;// Anaasor ghotre farei:
cout<<"anaasore ghotre farei: ";
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
if( i == n-j-1 )
{
cout<< setw(4)<<a[i][j];
arr[i]=a[i][j];
}
}
}
cout<<endl<<endl<<"selection sort: ";
//sort array
for(i=1;i<n;i++){
temp = arr[i];
for(j=i;j>0 && arr[j-1]>temp;j--){
arr[j] = arr[j-1];
}
arr[j] = temp;
}
// print array
for (j=0; j<n; j++)
{
cout<<arr[j]<<" ";
}
getch();
}