Var missnöjd med koden så jag skrev helt ny, dessutom kommentarer
Men nu får jag inte koden att funka i mitt borland 5
Vet inte om den kan fungera i någon kompilator, vad kan vara felskrivet?
#include <iostream>
#define NUM 30 // Antalet heltal som ska läsas in
using namespace std;
void bubbleSort(int*); // Deklarerar funktionen bubbleSort, tar emot en int* som skall sorteras.
int main (void)
{
int input[NUM], choice, i; // Input-vektorn är där de inskrivna
talen lagras, choice är användarens val på slutet och i är en räknare.
cout << "Skriv in" << NUM << "antal nummer." << endl; //
Uppmanar användaren att skriva in NUM heltal
for(i = 0;i < NUM;i++)
cin >> input[i];
cout << "Anropar bubbelsortering." << endl;
bubbleSort(input); // anropa bubbleSort();
cout << "Bubbelsortering klar." << endl;
while(true) // Oändlig loop för att användaren ska kunna prova detta underbara program hur många gånger som helst.
{
cout << "Vad vill du göra härnäst?" << endl << "1. Lista nummer under 50." << endl << "2. Lista nummer över 50." << endl << "3.
Sluta." << endl << "?";
cin >> choice;
switch(choice)
{
case 1:
for(i = 0;i < NUM;i++) // Börjar från början och
räknar upp alla tal upp till 50, då hoppar den ur loopen.
{
if(input[i] >= 50)
break;
cout << input[i] << " ";
}
break;
case 2:
for(i = 0;i < NUM;i++) // Börjar från början men
hoppar över alla tal under 50, hoppar ur automatiskt när den är klar.
{
if(input[i] < 50);
else
cout << input[i] << " ";
}
break;
case 3:
return 0;
default:
break;
}
}
return 0;
}
void bubbleSort(int *sort)
{
int i,j,temp; // Två räknare och en temporär variabel för att kunna byta.
for(i = 0;i < NUM;i++) // Går igenom hela vektorn.
{
for(j = 0;j < NUM;j++) // Går igenom hela vektorn en gång för varje element.
{
if(sort[j] > sort[i]) // Om elementet sort[j] är
större än sort[i], byt plats på dem.
{
temp = sort[j];
sort[j] = sort[i];
sort[i] = temp;
}
}
}
}