Предмет: Информатика, автор: Alar921

 



             ПОМОГИТЕ ПОЖАЛУЙСТА, ИНФОРМАТИКУ ВООБЩЕ НЕ ПОНИМАЮ.



Написать
следующую программу на С++.



1.  
Ввести натуральное N > 1, а затем ввести массив
вещественных чисел длинны N.

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






Ответы

Автор ответа: AdaLavleis
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 << "nn";
    
 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// на очередной итерации была произведена перестановка элементов
    }
 }
}
Автор ответа: Alar921
0
спасибо огромное
Похожие вопросы
Предмет: Математика, автор: Аноним