C/C++

Написать программу на Си, помогите!!!

Написать функцию, выводящую в порядке возрастания элементы
одномерного массива. В главной программе вызвать функцию для двух разных
массивов.
#include <stdlib.h>
#include <stdio.h>
int ascending(const void* a, const void* b) {
if (*((int*)a) < *((int*)b)) return -1;
if (*((int*)a) > *((int*)b)) return 1;
return 0;
}
void increase(int* box, size_t n) {
int* tmp = (int*)malloc(n * sizeof(int));
size_t i;
for (i = 0; i < n; ++i) tmp[i] = box[i];
qsort(tmp, n, sizeof(tmp[0]), ascending);
for (i = 0; i < n; ++i) printf("%4i", tmp[i]);
puts("");
free(tmp);
}
void show(int* box, size_t n) {
size_t i;
for (i = 0; i < n; ++i) printf("%4i", box[i]);
puts("");
}
int main(void) {
int a[] = { 2, 3, 5, 4, 7, 9, 1, 8, 6 };
int b[] = { 17, 36, 92, 13, 76, 54, 28 };
size_t na = sizeof(a) / sizeof(a[0]);
size_t nb = sizeof(b) / sizeof(b[0]);
show(a, na);
increase(a, na);
puts("");
show(b, nb);
increase(b, nb);
return 0;
}
АТ
Алексей Т
68 271
Лучший ответ
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<unistd.h>
#define MAX 10

//функция сравнения
//элементов массива:
int comp(const void *i, const void *j)
{ return *(int *)i - *(int *)j;
}

int main()
{
int n1, n2, *A1, *A2;
printf("Enter size of array A1 and A2");
printf("\nSize of A1 = ");
scanf("%d",&n1);
printf("\nSize of A2 = ");
scanf("%d",&n2);
A1=(int*)malloc(n1*sizeof(int));
A2=(int*)malloc(n2*sizeof(int));
if(A1 && A2)
{//if A1 && A2
srand(time(NULL));
printf("\nArray A1[%d]:\n",n1);
for(int i = 0; i < n1; i++)
{
A1[i]=(-1)*(rand()%MAX);
printf("%d ",A1[i]);
}
qsort(A1, n1, sizeof(int), comp);
printf("\n\nSorted Array A1[%d]:\n",n1);
for(int i = 0; i < n1; i++)
printf("%d ",A1[i]);

printf("\n\nArray A2[%d]:\n",n2);
for(int i = 0; i < n2; i++)
{
A2[i]=rand()%MAX;
printf("%d ",A2[i]);
}
qsort(A2, n2, sizeof(int), comp);
printf("\n\nSorted Array A2[%d]:\n",n2);
for(int i = 0; i < n2; i++)
printf("%d ",A2[i]);

free(A1);
free(A2);
}//if A1 && A2
else
printf("\nError by creating of array.");

fflush(stdout);
sleep(10);
return 0;
}
***pernexan ***
***pernexan ***
37 945
Для этого используется алгоритм сортировки, та же сортировка пузырём.
Код алгоритма и принцип работы легко гуглятся
**v.o.v.4.i.k** ...
**v.o.v.4.i.k** ...
3 930
Nurlan Sultanov Этого даже не требуется. <stdlib.h> имеет реализацию qsort. Автору потребуется только компаратор написать.