Вывести в функции 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; }
Объяснение кода листинга программы
- Объявление функций:
Sort(double * array, int n)
ShowArray(double * array, int n)
RandomInput(double * array, int n)
- Создание массива и получение его размера в функции
main()
. - Инициализация массива случайными числами в диапазоне от -10 до 40 с шагом 10 в функции
RandomInput()
. - Вывод массива на экран до сортировки в функции
ShowArray()
. - Сортировка массива методом пузырька в функции
Sort()
. - Вывод массива на экран после сортировки в функции
ShowArray()
. - Удаление выделенной памяти в функции
main()
. - Возврат значения 0 в функции
main()
, что означает успешный конец работы программы. - В функции
Sort()
используется временная переменнаяtemp
для обмена значениями. - В цикле сортировки элементы сравниваются попарно, начиная с начала массива до предпоследнего элемента.
- Если текущий элемент больше следующего, то они меняются местами с помощью временной переменной
temp
. - В функции
RandomInput()
используется функцияrand()
для генерации случайных чисел. - Генерация случайных чисел начинается с текущего времени, чтобы получить различный результат при каждом запуске программы.
- В цикле для каждого элемента массива генерируется случайное число и присваивается соответствующему элементу массива.
- В функции
ShowArray()
используется цикл для вывода всех элементов массива на экран, разделяя их пробелами. - В функции
main()
используется функцияSort()
для сортировки массива и функцияShowArray()
для вывода отсортированного массива. - Функция
main()
получает ввод от пользователя о размере массива и использует функциюnew
для выделения памяти под массив. - Функция
main()
вызывает функциюRandomInput()
для инициализации массива случайными числами. - Функция
main()
вызывает функциюShowArray()
для вывода массива до сортировки. - Функция
main()
вызывает функциюSort()
для сортировки массива. - Функция
main()
вызывает функциюShowArray()
для вывода отсортированного массива. - Функция
main()
освобождает выделенную память с помощью функцииdelete[]
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д