Nie wiem w jaki sposób zamienić kod, tak żeby używał wyłącznie wskaźników.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#define ROWS 4
#define COLUMNS 10
#define CLASS_SIZE 40
char compare(const void *a, const void *b)
{
return(*(int*)a - *(int*)b);
}
int main(int argc, char const *argv[])
{
int counter, i;
char array[ROWS][COLUMNS];
if(argc > 5)
{
printf("Too many arguments. 2 max\n(Hit any character to exit)");
getchar();
return 0;
}
for(counter = 0; counter < argc-1; counter++)
{
strncpy(array[counter], argv[counter+1], COLUMNS-1);
array[counter][COLUMNS-1] = 0;
for(i = 0; i < COLUMNS-1; i++)
{
if((isspace(array[counter][i])) || array[counter][i] == NULL)
{
array[counter][i] = '$';
}
}
}
printf("Command line includes %d parameters:\n", argc - 1);
for(counter = 0; counter < argc - 1; counter++)
{
printf("%d: %s\n", counter + 1, array[counter]);
}
printf("\n");
qsort(array, ROWS, COLUMNS, compare);
for(i = 0; i < argc - 1 ; i++)
{
printf("%d: %s\n", i + 1, array[i]);
}
return 0;
}