Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329

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

31.12.2013, 22:56. Показов 3111. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, ребята
Вообщем, наткнулся на написание программы с использованием сортировки пузырьком. Никогда не использовал
Часть кода написал сам, часть отвечающая за сортировку нашел в интернете
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 Файла.

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

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

Заранее Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.12.2013, 22:56
Ответы с готовыми решениями:

Сортировка пузырьком
ребята, такая проблема: нужно подсчитать колличество сравнений и перестановок в сортировки пузырьков при разных видах массивов. ...

сортировка пузырьком
Почему у меня при сортировке пузырьком значения некоторых чисел меняются на другие. double **Ex = new double *; for (int i = 0; i...

сортировка пузырьком
Вечер добрый! Задача проста: отсортировать сначала по зп, если &lt; 400, то в 1ый список, а если больше, то во второй, отсортировав по...

29
Заблокирован
31.12.2013, 23:00
Алгоритмы сортировок
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 23:01  [ТС]
А теперь нужно написать код
Helps
0
Заблокирован
31.12.2013, 23:12
то есть проблемы не с самой сортировкой?
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 23:15  [ТС]
Да.
Нужно еще на всякий проверить сортировку.
Но брал код с форума какого-то
Должен работать.
C++
1
2
3
4
while(!feof(file)){
    fscanf(file, "%f", &i); // open your .txt file and == i
    array++;
}
После закрытия цикла , он i присваивает как последнее число .txt файла.
0
Заблокирован
31.12.2013, 23:21
Цитата Сообщение от Esecman Посмотреть сообщение
fscanf(file, "%f", &i);
а почему вы не используете потоки для считывания данных?

Цитата Сообщение от Esecman Посмотреть сообщение
После закрытия цикла , он i присваивает как последнее число .txt файла.
а каким оно должно быть по вашему?
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 23:22  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
а почему вы не используете потоки для считывания данных?


а каким оно должно быть по вашему?
Так в data.txt чисел 44469
А выдает последнее.
В этом то и проблема, что он после закрытия цикла выдает последнее число тхт файла.
Я не знаю, как решить проблему

Он считывает, но в цикле
0
Заблокирован
31.12.2013, 23:26
Цитата Сообщение от Esecman Посмотреть сообщение
Так в data.txt чисел 44469
А выдает последнее.
В этом то и проблема, что он после закрытия цикла выдает последнее число тхт файла.
Я не знаю, как решить проблему
а проблема в чем? Выдает последнее число из файла, так и должно быть.
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 23:27  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
а проблема в чем? Выдает последнее число из файла, так и должно быть.
Сортировка должна быть всех значений, а не одного
0
Заблокирован
31.12.2013, 23:28
так записывайте информацию в массив.
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 23:30  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
так записывайте информацию в массив.
Так, а если у меня будет over 141941941 значений?
0
Заблокирован
31.12.2013, 23:33
Цитата Сообщение от Esecman Посмотреть сообщение
Так, а если у меня будет over 141941941 значений?
если столько значений, то зачем сортировка пузырьком?
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 23:34  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
если столько значений, то зачем сортировка пузырьком?
Дайте мне пожалуйста готовый код
Я посмотрю, что и как там. Впервые пишу такое
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
31.12.2013, 23:37
Цитата Сообщение от Esecman Посмотреть сообщение
Дайте мне пожалуйста готовый код
Я посмотрю, что и как там. Впервые пишу такое
Как это вы пишите,если хотите получить сразу готовый код?
0
Заблокирован
31.12.2013, 23:39
Цитата Сообщение от Esecman Посмотреть сообщение
Дайте мне пожалуйста готовый код
Я посмотрю, что и как там. Впервые пишу такое
я же скинул ссылку на тему где описываются сортировки + готовый код.
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 23:39  [ТС]
Да, просто я целый день думал , как же написать сортировку эту
Ничего не получается
0
Заблокирован
31.12.2013, 23:40
Цитата Сообщение от Esecman Посмотреть сообщение
Да, просто я целый день думал , как же написать сортировку эту
Ничего не получается
целый день над сортировкой пузырьком? 0_0
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 23:48  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
целый день над сортировкой пузырьком? 0_0
Это в преувеличенном смысле
Я кажется догадываюсь.
Сейчас отпишу

Добавлено через 6 минут
Ой ребята
Это смешно просто DDD
Очень смешно.
Что-то я туплю
Все на самом деле просто)
Ну Вы сами понимаете НГ

Сейчас осталось решить проблему с циклом.

Как решу отправлю
Если кто поможет - спасибо.
0
Заблокирован
31.12.2013, 23:50
Цитата Сообщение от Esecman Посмотреть сообщение
Ой ребята
Это смешно просто
)))

Цитата Сообщение от Esecman Посмотреть сообщение
Сейчас осталось решить проблему с циклом.
вы хотите сортировать не используя массив?
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
31.12.2013, 23:51  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
)))


вы хотите сортировать не используя массив?
Конечно, я всегда обходился без массивов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.12.2013, 23:51
Помогаю со студенческими работами здесь

Сортировка пузырьком
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #define N 9 ...

Сортировка пузырьком
Всем доброго времени суток! Я новичек в С++.У меня глупая ситуация: недавно написал код сортировки на C++, и сегодня решил...

Сортировка пузырьком
Требуется отсортировать пузырьком элементы массива, которые находятся на непарных позициях.

Сортировка пузырьком
Всем доброго времени суток. Помогите пожалуйста написать программу сортировки пузырьком в соответствии с данной блок-схемой.

Сортировка пузырьком
Здравствуйте! Решаю задачу:пользователь вводит слова через пробел,я должен вывести их в алфавитном порядке.Моя проблема в сортировке.Что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru