Форум программистов, компьютерный форум CyberForum.ru

Сортировка Пузырьком :) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая вводит число из пяти цифр, разделяет число на отдельные цифры http://www.cyberforum.ru/cpp-beginners/thread1061289.html
Привет народ скажите как написать программу, которая вводит число из пяти цифр, разделяет число на отдельные цифры и печатает их отдельно друг от друга с тремя пробелами между ними. Например, если пользователь вводит в программу 42339, то должно быть 4 2 3 3 9
C++ Вывод с задержкой каждого нового cout на полсекунды Вот к примеру есть код #include <iostream> using namespace std; int main() { cout<<"Предложение 1\n"; cout<<"Предложение 2\n"; cout<<"Предложение 3\n"; cout<<"Предложение 4\n"; http://www.cyberforum.ru/cpp-beginners/thread1061287.html
C++ Как нарисовать следующие фигуры в с++
Привет всем!Народ не подскажите,как напечатать прямоугольник,овал,стрелу и ромб только с помощью звездочек.
Рекурсивный поиск файла. Падаю C++
используя различные примеры из интернета, написал функцию, которая ищет файл и возвращает путь к этому файлу (без имени самого файла, т.е. путь к директории) собственно вот std::wstring FindFile (std::wstring Directory, std::wstring FileName) { HANDLE hFind; WIN32_FIND_DATA FileData; hFind = FindFirstFile((Directory + L"\\*").c_str(), &FileData); if (hFind != INVALID_HANDLE_VALUE)...
C++ Сравнение чисел http://www.cyberforum.ru/cpp-beginners/thread1061269.html
Привет всем!Люди помогите написать программ,которая сравнивает три числа и выдает наибольшее и наименьшее из них.Задача из книги Дейтелов. Всем заранее спасибо)
C++ Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее Дано задание: Дана действительная квадратная матрица порядка 7. Вычислить сумму тех её элементов, расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы, расположенные ниже главной диагонали. Заменить этой суммой элемент на главной диагонали соответствующего столбца. Если на главной диагонали и выше нее нет элементов с указанным свойством, то... подробнее

Показать сообщение отдельно
Esecman
38 / 26 / 6
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 22:56     Сортировка Пузырьком :)
Привет, ребята
Вообщем, наткнулся на написание программы с использованием сортировки пузырьком. Никогда не использовал
Часть кода написал сам, часть отвечающая за сортировку нашел в интернете
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <iomanip>
#include <fstream>
 
using namespace std;
 
void bubbleSort(float*, float);
 
int main(int argc, char* argv[]) {
    
FILE* file; // for using 
float i = 0;
int array = 0; // float values; double does not working, because using FILE*
float d = 0; 
float k;
 
ifstream input;
ofstream output;
 
char data[30]; // symbol type;
cout << "Enter your data: ";
cin.getline(data, 30);
 
file = fopen(data, "r"); // only read
 
char output1[30]; // symbol type;
cout << "Enter output file: ";
cin.getline(output1, 30);
 
output.open(output1);
 
if(file == NULL) {
cout << "Error file not found!" << endl;
cin.get();
return 0;
}
 
while(!feof(file)){
    fscanf(file, "%f", &i); // open your .txt file and == i
    array++;
}
 
    float *sorted_array = new float [array]; // одномерный динамический массив
    for (int counter = 0; counter < array; counter++) {
    }
 
    bubbleSort(sorted_array, array); // вызов функции сортировки пузырьком
 
    for (int counter = 0; counter < array; counter++)
    {
    output << sorted_array[counter] << endl; // печать отсортированного массива
}
}
 
void bubbleSort(float* arrayPtr, float length_array) // сортировка пузырьком 
{
 double 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; // на очередной итерации была произведена перестановка элементов
    }
 }
}
Вообщем, проблема с сортировкой.
Знаю, что из-за того, что после закрытия цикла , он i присваивает как последнее число .txt файла.

З.Ы. Сортировка из .txt Файла.

И посмотрите какие еще ошибки

Надеюсь на Вашу помощь!

Заранее Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru