Posted by : Waqas Javed Wednesday, 24 December 2014

This program demonstrate how to sort a array in ascending or descending order.. in C++.
This program uses function to do this and call the function of ascending or decending function whichever may user selects.

In Ascending algo
The program uses swap algorithm in which 1st and 2nd digits are compared if 2nd  is smaller the program swaps them and then compare 2nd and 3rd digit... and continue to do so till the end of array in this manner the greatest digit reaches at end position. This loops is again repeated n-1 times so that all digits attain their respective position.....

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

using namespace std;

const int array_size = 10;

void data(int arr[]) {
char ch[2] = {'s', 't'};

for(int i = 0; i<array_size; i++){
cout << "Please Enter " << i+1 << ch[0] << ch[1] << " Number: ";
cin >> arr[i];

if(i == 0){ch[0] = 'n'; ch[1] = 'd';}
if(i == 1){ch[0] = 'r'; ch[1] = 'd';}
if(i >= 2){ch[0] = 't'; ch[1] = 'h';}
}

cout << endl;
}

void asscending(int arr[]) {
for(int j = 0; j<(array_size-1); j++){
for(int i = 0; i<(array_size-1); i++){
int a;
if(arr[i]>(arr[i+1])){
a = arr[i];
arr[i] = arr[i+1];
arr[i+1] = a;
}
}
}

cout << endl;

}

void descending(int arr[]) {
for(int j = 0; j<(array_size-1); j++){
for(int i = 0; i<(array_size-1); i++){
int a;
if(arr[i]<arr[i+1]){
a = arr[i];
arr[i] = arr[i+1];
arr[i+1] = a;
}
}
}

cout << endl;
}

void print(int arr[]) {
for (int i = 0; i <array_size; i++){
cout << arr[i] << endl;
}

cout << endl;
}

void cases(int arr[]) {
char sort;
cout << "Press a to sort in ascending and b to sort in desending order: ";
cin >> sort;


switch (sort){
case 'A':
case 'a':
asscending(arr);
cout << "The asending order is:" << endl;
print(arr);
break;

case 'B':
case 'b':
descending(arr);
cout << "The desending order is:" << endl;
print(arr);
break;
default:

cout << "wrong input";
cases(arr);
break;
}
cout << endl;
}

void main() {
int arr[array_size] = {0};
char a = 'a';

while(a != 'c'){
if(a == 'a' || a == 'A'){
data(arr);
cases(arr);
}

if(a == 'b' || a == 'B'){
cases(arr);
}

cout << "Press a to renter data press b to rearrange same data, c to terminate: ";
cin >> a;
}
}

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Contact Us

Stay updated for more codes if we u want any code write us by commenting below or email us.
If you want to hire us for your semester project email us at above given email or call or message
Email: 14bscswjaved@seecs.edu.pk
Phone no: 0308-8109708

Popular Post

Powered by Blogger.

- Copyright © BSCS -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -