Информатику вообще не понимаю. написать следующую программу на с++. 1. ввести натуральное n > 1, а затем ввести массив вещественных чисел длинны n. 2. нужно запрограммировать алгоритм сортировки массива вещественных чисел в виде подпрограммы и продемонстрировать («распечатать»-записать в файл) результат сортировки. в качестве алгоритма сортировки выбрать простой метод «пузырька».

ник5032 ник5032    3   07.06.2019 11:40    1

Ответы
Лиззка1904 Лиззка1904  07.07.2020 08:18
2)// bu_sort.cpp: определяет точку входа для консольного приложения.
 #include "stdafx.h"#include <iostream>#include <iomanip>#include <ctime>using namespace std; 
void bubbleSort(int *, int); // прототип функции сортировки пузырьком int main(int argc, char* argv[])
{    srand(time(NULL));    setlocale(LC_ALL, "rus");    cout << "Введите размер массива: ";    
int size_array; // длинна массива    cin >> size_array;     int *sorted_array = new int [size_array]; 
// одномерный динамический массив   
 for (int counter = 0; counter < size_array; counter++)   
 {       
 sorted_array[counter] = rand() % 100; 
// заполняем массив случайными числами        
cout << setw(2) << sorted_array[counter] << "  "; 
// вывод массива на экран   
 }    
cout << "\n\n";    
 bubbleSort(sorted_array, size_array); 
// вызов функции сортировки пузырьком   
  for (int counter = 0; counter < size_array; counter++)  
  {        
cout << setw(2) << sorted_array[counter] << "  "; 
// печать отсортированного массива  
  }    cout << "\n";     
system("pause");    
return 0;} 
void bubbleSort(int* arrayPtr, int length_array) 
// сортировка пузырьком{ int temp = 0; 
// временная переменная для хранения элемента массива bool exit = false;
 // болевая переменная для выхода из цикла, если массив отсортирован  while (!exit) // пока массив не отсортирован {  exit = true;  for (int int_counter = 0; int_counter < (length_array - 1);
int_counter++) 
// внутренний цикл   
 //сортировка пузырьком по возрастанию - знак >  
  //сортировка пузырьком по убыванию - знак <    if (arrayPtr[int_counter] > arrayPtr[int_counter + 1])
 // сравниваем два соседних элемента  
  {     // выполняем перестановку элементов массива     temp = arrayPtr[int_counter];     
arrayPtr[int_counter] = arrayPtr[int_counter + 1];   
  arrayPtr[int_counter + 1] = temp;    
 exit = false; // на очередной итерации была произведена перестановка элементов    }
 }
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика