Hello,

I am implementing Bubble Sort and File Writing as an Assignment . I am having a problem . This is the function for the Bubble Sort I have written:

Code:

void BubbleSort()
{
ifstream input;
input.open("input.txt");
int temp[MAX];
int count=0;
while (!input.eof())
{
int t;
input>>t;
temp[count]=t;
count++;
}
input.close();
for (int i=0;i<(count-1);i++)
{
for (int j=(count-1);j>i;j--)
{
if (temp[j]<temp[j-1])
{
int tempswap;
tempswap=temp[j];
temp[j]=temp[j-1];
temp[j-1]=tempswap;
}
}
}
ofstream bubble;
bubble.open("bubble.txt", ios::app);
for (int i=0;i<(count-1);i++)
{
bubble<<temp[i]<<endl;
}
bubble.close();
}

The problem is that by running the program suppose I enter in the exact same order:

5

2

7

21

9

1

in the input.txt file , when i call the bubble sort function above.

The output in bubble.txt is formed as:

1

1

2

5

7

9

It is showing an extra 1 and also not showing 21 .

I have been trying to solve it for few hours now cant figure it out . I have also made Selection sort and it is working perfectly fine.

Can anyone help me?

Thanks in advance.