Вывести в функции main() на экран массив, отсортированный в другой функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Есть две функции main() и FG(float ARR[],int i).Как вывести в функции main() на экран массив отсортированный в функции FG(float ARR[],int i).
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
float FG(float ARR[],int i);
void main()
{clrscr();
float ARR[10];
int i;
randomize();
for(i=0;i<10;i++){ARR[i]=random(20);printf("%2.1f\t",ARR[i]);}
}
float FG(float ARR[],int i)
{
int j;
float a;
for(i=0;i<10;i++)
{
for(j=0;j<10-1-i;j++)
{
if(ARR[j]<ARR[j+1]){a=ARR[j];ARR[j]=ARR[j+1];ARR[j+1]=a;}
}
}
getch();
return 0;
}
Сделал так но не работает
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
float FG(float ARR[],int i);
void main()
{clrscr();
float ARR[10];
int i;
randomize();
for(i=0;i<10;i++){ARR[i]=random(20);printf("%2.1f\t",ARR[i]);}
for(i=0;i<10;i++){printf("%i=%f\t",i,ARR[i]);}
}
float FG(float ARR[],int i)
{
int j;
float a;
for(i=0;i<10;i++)
{
for(j=0;j<10-1-i;j++)
{
if(ARR[j]<ARR[j+1]){a=ARR[j];ARR[j]=ARR[j+1];ARR[j+1]=a;}
}
}
getch();
return ARR[i];
}

Решение задачи: «Вывести в функции main() на экран массив, отсортированный в другой функции»

textual
Листинг программы
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
void Sort(double * array, int n);
void ShowArray(double * array, int n);
void RandomInput(double * array, int n);
 
int main()
{
    double * array;
    int n;
 
    cin >> n;
 
    array = new double[n];
 
    RandomInput(array,n);
 
    cout << "Массив до сортировки : \n";
    ShowArray(array,n);
 
    Sort(array,n);
 
    cout << "Массив после сортировки :\n";
    ShowArray(array,n);
 
    delete[] array;
    // добавьте getch() и conio.h если работает в MVS++ / Builder'е
    return 0; 
}
 
void Sort(double * array, int n)
{
    double temp;
 
    for(int j=0; j<n; j++)
        for(int i=0; i<n-1; i++)
            if(array[i] < array[i+1])
            {
                temp = array[i];
                array[i] = array[i+1];
                array[i+1] = temp;
            }
}
 
void RandomInput(double * array, int n)
{
    srand(time(NULL));
 
    for(int i=0; i<n; i++)
        array[i] = rand()%50-10;
}
 
void ShowArray(double * array, int n)
{
    for(int i=0; i<n; i++)
        cout << array[i] << " ";
    cout << endl;
}

Объяснение кода листинга программы

  1. Объявление функций:
    • Sort(double * array, int n)
    • ShowArray(double * array, int n)
    • RandomInput(double * array, int n)
  2. Создание массива и получение его размера в функции main().
  3. Инициализация массива случайными числами в диапазоне от -10 до 40 с шагом 10 в функции RandomInput().
  4. Вывод массива на экран до сортировки в функции ShowArray().
  5. Сортировка массива методом пузырька в функции Sort().
  6. Вывод массива на экран после сортировки в функции ShowArray().
  7. Удаление выделенной памяти в функции main().
  8. Возврат значения 0 в функции main(), что означает успешный конец работы программы.
  9. В функции Sort() используется временная переменная temp для обмена значениями.
  10. В цикле сортировки элементы сравниваются попарно, начиная с начала массива до предпоследнего элемента.
  11. Если текущий элемент больше следующего, то они меняются местами с помощью временной переменной temp.
  12. В функции RandomInput() используется функция rand() для генерации случайных чисел.
  13. Генерация случайных чисел начинается с текущего времени, чтобы получить различный результат при каждом запуске программы.
  14. В цикле для каждого элемента массива генерируется случайное число и присваивается соответствующему элементу массива.
  15. В функции ShowArray() используется цикл для вывода всех элементов массива на экран, разделяя их пробелами.
  16. В функции main() используется функция Sort() для сортировки массива и функция ShowArray() для вывода отсортированного массива.
  17. Функция main() получает ввод от пользователя о размере массива и использует функцию new для выделения памяти под массив.
  18. Функция main() вызывает функцию RandomInput() для инициализации массива случайными числами.
  19. Функция main() вызывает функцию ShowArray() для вывода массива до сортировки.
  20. Функция main() вызывает функцию Sort() для сортировки массива.
  21. Функция main() вызывает функцию ShowArray() для вывода отсортированного массива.
  22. Функция main() освобождает выделенную память с помощью функции delete[].

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


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

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

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