Hi Im writing this sorting program. A user can enter a First Name and Last name (10 for now). It stores them in a string. Then a user can enter 10 numbers. The program sorts the numbers and then displays the names assciated with the numbers in order.
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int compare(int, int);
void sort(int[], const int);
void swap(int *, int *);
void getname(void); // get student name
string Name [25];
void getname(void)
{
for(int i=0; i<10; i++)
{
getline(cin, Name[i]);
}
return;
}
int compare(int x, int y)
{
return(x > y);
}
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
void sort(int table[], const int n)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n-1; j++)
{
if(compare(table[j], table[j+1]))
swap(&table[j], &table[j+1]);
}
}
}
int quantity=10;
int* tab;
int main()
{
cout<<" Enter your first and last name: ";
getname();
tab = new int [quantity];
cout << "Input numbers: \n\n";
for (int i = 0; i < quantity; i++)
{
int x = i;
cout << "#" << ++x << ": ";
cin >> tab[i];
}
cout << "\nBefore sorting: ";
for (int i = 0; i < quantity; i++)
{
cout << tab[i] << " ";
}
cout << "\nAfter sorting: "<<endl;
sort(tab, quantity);
for(int i = 0; i < quantity; i++)
{
tab[i]==Name[i];
cout << tab[i] <<" "<<Name [i]<<endl;
}
return 0;
}
I have two problems the "Enter name does not appear 10 time" it only appears once, I want it to display 10 times. Also the strings and the numbers are not associated. I need the first number entered to be associated to the first string entered.