|
Hobbyist Programmer
Join Date: Jan 2006
Location: Menidi, Athens, Greece
Posts: 239
Rep Power: 3 
|
Thanks a lot!
So, I figured right. Because it was an examination exercise, I decided to keep the code as unchanged as I could, so I have written this code:
#include <iostream>
#include <string>
using std::cout;
using std::cin;
template<class T>
void set(T p[], int num, char *name){
int i;
for(i=0; i<num; i++){
cout << name << "[" << i << "]=";
cin >> p[i];
}
}
template<class T>
void show(T p[], int num, char *name){
int i;
for(i=0; i<num; i++){
cout << name << "[" << i << "]=" << p[i] << "\n";
}
}
template<class T>
int greater(T a, T b){return(a>b);}
int greater(char *a, char *b){return strcmp(a,b)>0;}
template<class T>
void swap(T &a, T &b){
T temp = a;
a = b;
b = temp;
}
void swap(char *a, char *b){
char temp[20];
strcpy(temp, a);
strcpy(a,b);
strcpy(b,temp);
}
template <class T>
void sort(T p[], int size){
int i,k;
for(k=1;k<size;k++)
for(i=0;i<size-k;i++)
if (greater(p[i],p[i+1])>0){
swap(p[i],p[i+1]);
}
}
int main(){
char names[4][21]; int n=4;
set(names,n,"names");
cout<<"\nunsorted names a\n";
show(names,n,"names");
sort(names,n);
cout<<"\nsorted names\n";
show(names,n,"names");
int numbers[4];
set(numbers,3,"numbers");
cout<<"\nunsorted numbers b\n";
show(numbers,3,"numbers");
sort(numbers,3);
cout<<"\nsorted numbers\n";
show(numbers,3,"numbers");
} Anyway, last question still unanswered, have you got any online references to namespaces? How am I supposed to know which commands confront others in certain namespaces?
|