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

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

31.12.2013, 22:56. Показов 2979. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru