Сортировка элементов массива - C (СИ)
Формулировка задачи:
Всем доброго дня. Помогите пожалуйста,написала уже всю программу,но не могу упорядочить элементы по возрастанию (X,Y,X+Y). Помогите пожалуйста.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
float X[50],Y[50],Z[100];
int i,j;
clrscr();
printf("Massiv X:\n");
for (i=0; i<50;i++)
{
X[i]=random(100)/100.;
printf("%5.2f", X[i]);
}
printf("\n\nMassiv Y:\n");
for (i=0; i<50;i++)
{
Y[i]=random(100)/100.;
printf("%5.2f", Y[i]);
}
printf("\n\nMassiv X+Y:\n");
for (i=0; i<100;i++)
{
Z[i]=X[i]+Y[i];
printf("%5.2f", Y[i]);
}
getch();
}Решение задачи: «Сортировка элементов массива»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//-----------------------------------------------------------------------------
float* Fill(float array[], unsigned size)
{
unsigned i;
for (i = 0; i < size; ++i)
{
array[i] = (rand() % 1000) / 100.0;
}
return array;
}
//-----------------------------------------------------------------------------
void Print(float array[], unsigned size)
{
unsigned i;
for (i = 0; i < size; ++i)
{
printf("%.2f ", array[i]);
}
puts("");
}
//-----------------------------------------------------------------------------
void Swap(float* a, float* b)
{
float tmp = *a;
*a = *b;
*b = tmp;
}
//-----------------------------------------------------------------------------
float* Sort(float array[], unsigned size)
{
unsigned i, j , min;
for (i = 0; i < size - 1; ++i)
{
min = i;
for (j = i + 1; j < size; ++j)
{
if (array[min] > array[j])
{
min = j;
}
}
Swap(&array[i], &array[min]);
}
return array;
}
//-----------------------------------------------------------------------------
#define N 50
int main()
{
float X[N], Y[N], Z[N];
int i;
srand(time(NULL));
Fill(X, N);
Fill(Y, N);
Sort(X, N);
Sort(Y, N);
printf("Massiv X:\n");
Print(X, N);
printf("Massiv Y:\n");
Print(Y, N);
for (i = 0; i < N; ++i)
{
Z[i] = X[i] + Y[i];
}
printf("Massiv X+Y:\n");
Print(Z, N);
system("pause");
return 0;
}