writing a program that is not allowed to have loops.
Integers will be read from the file and should be bubble sorted.. its a lot of if statements to avoid the for loop and its still not sorting correctly..Is there any way i can shorten this code and have it bubble sorted at the same time?
Code:
#include <stdio.h>
#include <iostream>
#include<fstream>
#include<string>
void swap(int *, int *);
using namespace std;
int main(int argc, char *argv[])
{
int key,a[14],i;
string line;
cout<<"Enter search key";
cin>>key;
//opens file
ifstream myfile ("integers.txt");
if (myfile.is_open())
{
while ( myfile.good() )
{
for(i=0;i<=14;i++){
myfile>>a[i];
cout << a[i] << endl;
}
if (a[0] > a[1]) swap(a, a+1);
if (a[1] > a[2]) swap(a+1, a+2);
if (a[2] > a[3]) swap(a+2, a+3);
if (a[3] > a[4]) swap(a+3, a+4);
if (a[4] > a[5]) swap(a+4, a+5);
if (a[5] > a[6]) swap(a+5, a+6);
if (a[6] > a[7]) swap(a+6, a+7);
if (a[7] > a[8]) swap(a+7, a+8);
if (a[8] > a[9]) swap(a+8, a+9);
if (a[9] > a[10]) swap(a+9, a+10);
if (a[10] > a[11]) swap(a+10, a+11);
if (a[11] > a[12]) swap(a+11, a+12);
if (a[12] > a[13]) swap(a+12, a+13);
if (a[13] > a[14]) swap(a+13, a+14);
if (a[0] > a[1]) swap(a, a+1);
if (a[1] > a[2]) swap(a+1, a+2);
if (a[2] > a[3]) swap(a+2, a+3);
if (a[3] > a[4]) swap(a+3, a+4);
if (a[5] > a[6]) swap(a+5, a+6);
if (a[6] > a[7]) swap(a+6, a+7);
if (a[7] > a[8]) swap(a+7, a+8);
if (a[8] > a[9]) swap(a+8, a+9);
if (a[9] > a[10]) swap(a+9, a+10);
if (a[10] > a[11]) swap(a+10, a+11);
if (a[11] > a[12]) swap(a+11, a+12);
if (a[12] > a[13]) swap(a+12, a+13);
if (a[13] > a[14]) swap(a+13, a+14);
if (a[0] > a[1]) swap(a, a+1);
if (a[1] > a[2]) swap(a+1, a+2);
if (a[2] > a[3]) swap(a+2, a+3);
if (a[3] > a[4]) swap(a+3, a+4);
if (a[5] > a[6]) swap(a+5, a+6);
if (a[6] > a[7]) swap(a+6, a+7);
if (a[7] > a[8]) swap(a+7, a+8);
if (a[8] > a[9]) swap(a+8, a+9);
if (a[9] > a[10]) swap(a+9, a+10);
if (a[10] > a[11]) swap(a+10, a+11);
if (a[11] > a[12]) swap(a+11, a+12);
if (a[12] > a[13]) swap(a+12, a+13);
if (a[13] > a[14]) swap(a+13, a+14);
if (a[0] > a[1]) swap(a, a+1);
if (a[1] > a[2]) swap(a+1, a+2);
if (a[2] > a[3]) swap(a+2, a+3);
if (a[3] > a[4]) swap(a+3, a+4);
if (a[5] > a[6]) swap(a+5, a+6);
if (a[6] > a[7]) swap(a+6, a+7);
if (a[7] > a[8]) swap(a+7, a+8);
if (a[8] > a[9]) swap(a+8, a+9);
if (a[9] > a[10]) swap(a+9, a+10);
if (a[10] > a[11]) swap(a+10, a+11);
if (a[11] > a[12]) swap(a+11, a+12);
if (a[12] > a[13]) swap(a+12, a+13);
if (a[13] > a[14]) swap(a+13, a+14);
cout << "Sorted array : ";
for (int i = 0; i < 14; i++) cout << a[i] << " ";
cout << endl;
}
myfile.close();
}
else cout << "Unable to open file";
system("pause");
return 0;
}
void swap(int *x, int *y) {
int temp = *x;
*x = *y;
*y = temp;
}