Сортировка чисел.
мне нужно написать программу для сортировки аргументов командной строки (чисел).
Что я уже пробовал:
#include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) { int i, j, t, n, pos, a[100]; n = argc - 1; printf("\nNumber of elements in the input array is : %d\n", n); printf("\nThe input array is\n\t"); for (i = 1; i <= n; i++) { a[i - 1] = atoi(argv[i]); printf("%d ", a[i - 1]); } for (i = 0; i<n; i++) { pos = i; for (j = i + 1; j<n; j++) { if (a[pos] > a[j]) { pos = j; } } if (pos != i) { t = a[i]; a[i] = a[pos]; a[pos] = t; } } printf("\n\n The sorted array is \n\t"); for (i = 0; i<n; i++) { printf("%d ", a[i]); } return 0; }
Patrice T
И у вас есть вопрос, проблема, ошибка ?
Mehedi Shams
Привет Член 13095321,
Ваш код довольно совершенен. Он отлично сортирует заданный диапазон чисел в командной строке. Итак, в чем проблема, или где вы находите трудности?
PIEBALDconsult
Я предпочитаю сортировать значения из командной строки по мере их копирования в массив, а не сортировать массив после его заполнения.
Итак, [ 3, 1, 2] становится
[ 3 ]
[ 1 , 3 ]
[ 1 , 2 , 3 ]