За незменшенням - за зростанням.
А я навпаки другу частину не зрозумів.
Ось код:
#define N 11
#include <stdio.h>
#include <stdlib.h>
int main() {
int *a, *a_sorted;
int i, j, min, tmp, n_sorted;
a = (int *) malloc (sizeof(int)*N);
a_sorted = (int *) malloc (sizeof(int)*N);
// input
for (i = 0; i < N; i++) {
printf("a[%d]=", i);
scanf("%d", &a[i]);
}
// find min value and min elements
min = a[0];
for (i = 1; i < N; i++) {
if (a[i] < min ) {
min = a[i];
}
}
// output min value and min elements
printf("\nmin=%d\n", min);
printf("min elements:\n");
for (i = 0; i < N; i++) {
if (a[i] == min) {
printf("%d\n", i);
}
}
// sort
for (i = 0; i < N; i++) {
for (j = 0; j < N - 1; j++) {
if(a[i] < a[j]) {
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
n_sorted = 0;
for (i = 0; i < N; i++) {
if (a[i] > 0) {
a_sorted[n_sorted] = a[i];
n_sorted++;
}
}
// output sorted array
printf("\nsorted array:\n");
for (i = 0; i < n_sorted; i++) {
printf("A[%d]=%d\n", i, a_sorted[i]);
}
return 0;
}