0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 4
1

В пузырьковой сортировке не работает swap

29.05.2014, 11:54. Показов 1013. Ответов 2
Метки нет (Все метки)

Почему не меняет местами?
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
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
 
struct NOTATKI
{
    long Telefon;
    int Den;
    int Mesyac;
    int God;
    string Familiya;
} NOTATKI[20];
int i;
 
int main()
{ 
    for (i = 0; i < 20; i++)
    {
        cout << "Familiya" << "\n" ;
        cin >> NOTATKI[i].Familiya;
        NOTATKI[i].Telefon = 10000000 + rand() % 60000000;
        NOTATKI[i].Den = 1 + rand() % 31;
        NOTATKI[i].Mesyac = 1 + rand() % 13;
        NOTATKI[i].God = 1993 + rand() % 3;
    }
    for (i = 0; i < 20; i++)
        {
            cout << "---------------------------------------------------------------" << "\n" ;
            cout << "Familiya "   << "\n" << "\n" << NOTATKI[i].Familiya << "\n"  << "\n" ;
            cout << "telefon " << "\n"  << NOTATKI[i].Telefon << "\n"  << "\n" ;
            cout << "den rogdeniya " << "\n"  << NOTATKI[i].Den << "\n"  << "\n" ;
            cout << "mesyac rogdeniya " << "\n"  << NOTATKI[i].Mesyac << "\n"  << "\n" ;
            cout << "god rogdeniya " << "\n"  << NOTATKI[i].God << "\n"  << "\n" ;
            cout << "---------------------------------------------------------------" << "\n" ;
        }   
     for(int i=0; i<20; ++i)
    for(int j=i+1; j<20; ++j)
    if(NOTATKI[j].Telefon > NOTATKI[i].Telefon) swap (NOTATKI[i],NOTATKI[j]);
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2014, 11:54
Ответы с готовыми решениями:

Исправить ошибки в пузырьковой сортировке
Пересмотрел несколько видео и прочитал несколько статей но так и не понял почему сортировка не...

Как теоретически (не программно) посчитать количество сравнений и обменов в пузырьковой сортировке?
как теоретически посчитать количество сравнений и обменов в пузырьковой сортировке?не программно

Не работает swap
k.name.swap(s); s - строка, k - массив структур

Как работает данный swap?
Как данный swap работает? Почему там i и j поменялась местами? Что и каком образом она даст...

2
363 / 320 / 218
Регистрация: 21.02.2013
Сообщений: 752
29.05.2014, 12:25 2
а вы сортируете после вывода на экран
0
43 / 43 / 13
Регистрация: 17.05.2011
Сообщений: 162
29.05.2014, 12:26 3
Почему решил что не меняет? Потому что выводишь результат перед сортировкой, а не после?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2014, 12:26
Помогаю со студенческими работами здесь

Не работает swap и непонятны некоторые строки в программе
Нужно что бы swap менял слова равноудаленные от концов строки, то есть первое с последним, второе с...

Каким образом работает swap в приведенном коде?
Каким образом работает swap в коде ниже? #include&lt;list&gt; #include&lt;memory&gt; #include&lt;utility&gt;...

В пузырьковой сортировке посчитать количество перестановок и сравнения
В пузырьковой сортировке посчитать количество перестановок и сравнения //point.c # include...

Как мне узнать количество выполненных swap в сортировке?
Как мне узнать количество выполненных swap в сортировке? На примере сортировки пузырьком: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru