round 1, 16 Sept
char a[] = "indian";
char *a = "indian"; void deleteChar(string &str, char ch) {
//int len = str.length();
int len = strlen(str.c_str());
int idx = 0;
for(int i=0; i<len; i++) {
if(str[i] !=ch) {
str[idx++] = str[i];
}
}
//cout << idx << endl;
str = str.substr(0, idx);
}void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void myFunc(int array[], int size) {
for (int step = 0; step < size - 1; step++) {
int min_idx = step;
for (int i = step + 1; i < size; i++) {
if (array[i] < array[min_idx])
min_idx = i;
}
swap(&array[min_idx], &array[step]);
}
}modify this such that it sort as per the largest number possible with the array elements
I did like this: (worked fine)
void myFunc(int array[], int size) {
for (int step = 0; step < size - 1; step++) {
int min_idx = step;
for (int i = step + 1; i < size; i++) {
string a = to_string(array[i]);
string b = to_string(array[min_idx]);
if((a+b) > (b+a)) {
min_idx = i;
}
//if (array[i] < array[min_idx])
// min_idx = i;
}
swap(&array[min_idx], &array[step]);
}
}base *obj = new Derived();