Сортировка элементов массива - 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.545 из 5
Похожие ответы