Вопрос задан 14.01.2020 в 19:38. Предмет Информатика. Спрашивает Шагиев Влас.

ПОМОГИТЕ ПОЖАЛУЙСТА, ИНФОРМАТИКУ ВООБЩЕ НЕ ПОНИМАЮ.Написать следующую программу на С++.1. Ввести

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Иманалиева Дарья.
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// на очередной итерации была произведена перестановка элементов
    }
 }
}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Программа на C++ для сортировки массива методом "пузырька"

Для решения данной задачи, вам потребуется написать программу на языке C++, которая будет сортировать массив вещественных чисел с использованием метода "пузырька". Вот пример такой программы:

```cpp #include #include

void bubbleSort(double arr[], int size) { for (int i = 0; i < size - 1; i++) { for (int j = 0; j < size - i - 1; j++) { if (arr[j] > arr[j + 1]) { // Swap arr[j] and arr[j+1] double temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }

int main() { int N; std::cout << "Введите значение N: "; std::cin >> N;

double* arr = new double[N];

std::cout << "Введите элементы массива: "; for (int i = 0; i < N; i++) { std::cin >> arr[i]; }

// Сортировка массива bubbleSort(arr, N);

// Вывод отсортированного массива std::cout << "Отсортированный массив: "; for (int i = 0; i < N; i++) { std::cout << arr[i] << " "; } std::cout << std::endl;

// Запись отсортированного массива в файл std::ofstream outputFile("sorted_array.txt"); if (outputFile.is_open()) { for (int i = 0; i < N; i++) { outputFile << arr[i] << " "; } outputFile.close(); std::cout << "Результат сортировки записан в файл 'sorted_array.txt'." << std::endl; } else { std::cout << "Не удалось открыть файл для записи." << std::endl; }

delete[] arr;

return 0; } ```

Объяснение программы

1. Программа начинается с объявления необходимых заголовочных файлов: `iostream` для ввода-вывода и `fstream` для работы с файлами. 2. Затем определяется функция `bubbleSort`, которая реализует алгоритм сортировки методом "пузырька". Внутри этой функции используется два вложенных цикла `for`, чтобы сравнивать и менять элементы массива, пока массив не будет отсортирован. 3. В функции `main` сначала запрашивается значение `N` - размер массива, а затем создается динамический массив `arr` для хранения введенных пользователем чисел. 4. После этого пользователю предлагается ввести элементы массива, которые сохраняются в массиве `arr`. 5. Далее вызывается функция `bubbleSort`, которая сортирует массив `arr`. 6. После сортировки, отсортированный массив выводится на экран. 7. Затем отсортированный массив записывается в файл 'sorted_array.txt' с помощью объекта `ofstream`. 8. В конце программы освобождается память, выделенная для массива `arr`, и программа завершается.

Пример работы программы

``` Введите значение N: 5 Введите элементы массива: 3.2 1.5 4.7 2.8 0.9 Отсортированный массив: 0.9 1.5 2.8 3.2 4.7 Результат сортировки записан в файл 'sorted_array.txt'. ```

Примечание

В данной программе используется стандартный ввод и вывод для взаимодействия с пользователем. Вы можете изменить эту часть программы, чтобы вводить значения массива из файла или использовать другие способы ввода-вывода, в зависимости от ваших потребностей.

Надеюсь, эта информация поможет вам написать программу на C++, которая сортирует массив вещественных чисел методом "пузырька". Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос