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

Сортировка методом пузырька - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Хеш таблицы http://www.cyberforum.ru/cpp-beginners/thread850433.html
Начал изучать хеш таблицы. Подскажите насчёт хеш таблиц с открытимы адрессами: - Должны ли мы инициализировать значение ключа таблицы если позиция таблицы никогда не использовалась? - Можем ли мы хранить 2 различные записи, которые имеют одно значение ключа?
C++ Поиск в ширину на графе #include "stdafx.h" #include "stdafx.h" #include <iostream> #include <conio.h> #include<vector> #include<queue> using namespace std; int main() { vector < vector<int> > g; // граф http://www.cyberforum.ru/cpp-beginners/thread850430.html
Вставка элемента в вектор C++
Задача вставить новый элемент после все элементов, кратных своему номеру. Когда дело доходит до функции insert() , выскакивает ошибка "Vector iterator not incrementable". Подскажите, что я делаю не так? #include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { setlocale(0,""); vector <int> ivec;
C++ Шаблоны функций
Добрый вечер! У меня возникли трудности с шаблонами функций. Вот код с шаблоном template <class type,class ttype> ttype volume(type a) { cout<<"Template function"<<endl; return a*a*a; }
C++ Как извлечь корень из числа без функции с++ ? http://www.cyberforum.ru/cpp-beginners/thread850415.html
Может с циклами как нибудь
C++ Проверка на коректность вводимых данных Есть такой код где данные вводятся целого типа( int x; cin >> x; ). Вопрос такой как проверить действительно ли введено число либо нет ? подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
01.05.2013, 19:50     Сортировка методом пузырька
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <math.h>
#include <ctime>
#include <windows.h> 
#include <clocale>
#include <string>
#include <stdlib.h>
#include <conio.h>
using namespace std;
 
void swap(int& n1, int& n2);
 
int main ()
{
   int i, j, el, m, k, kol= 0, w, last, first, mid, row, col, **ar,n,v,a,b;
    cout<< ("Enter rows ");
   cin>>row;
     cout<< ("Enter cols ");
   cin>>col;
   cout<<("\nMatrix:\n");
   ar= (int **)malloc (sizeof (int *) * row);
   for (i= 0; i < row; i++)
   {
   ar[i]= (int*)malloc (sizeof (int) * col);
      for (j= 0; j < col; j++)
      {
         ar[i][j]= rand () % 99;
         cout << std::setw(5) << ar[i][j];
      }
      cout<< ("\n");
   }
   cout<<("\n");
   cout<<("\n The desired values\n");
   for (i=1;i<row;i=i+2)
   { 
       for (j= 0; j < col; j=j+2)  
       cout << std::setw(5) << ar[i][j];
   cout<<("\n");}
   cout<< ("\n Enter the sequence of numbers ");         //искомый элемент
   cin>>el;
 
    int i = N-1;
    for (int i = row-1, j = col-1; i >= 0 && j >= 0; j--)
    {
        int max_i = i, max_j = j;
        for (int m = i, n = j; m >= 0 && n >= 0; n--)
        {
            if (ar[m][n] > ar[max_i][max_j]) { max_i = m; max_j = n; }
            if (n <= 0) { m--; n = N; }
        }
 
        swap(ar[i][j], ar[max_i][max_j]);
        if (j <= 0) { i--; j = N; }
    }
 
   cout<< ("\nSorting by selection:\n");//в
   for (i= 0; i < row; i++)             //ы
       {                                //в
      for (j= 0; j < col; j++)          //о
   cout << std::setw(5) << ar[i][j];    //д
      cout<<("\n");                     //массива
   }
}
 
void swap(int& n1, int& n2)
 { int _tn = n1; n1 = n2; n2 = _tn; }
Мой исходник:
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <memory.h>
 
#define N 10
 
void swap(int& n1, int& n2);
 
int main(int argc, char* argv[])
{
    int** A = new int*[N];
    memset((void*)A, 0x00, sizeof(int*) * N);
 
    for (int k1 = 0; k1 < N; k1++)
    {
        A[k1] = new int[N];
        for (int k2 = 0; k2 < N; k2++)
        {
            A[k1][k2] = rand() % (N-1) + 1;
            printf("%d ",A[k1][k2]);
        }
 
        printf("\n");
    }
 
    printf("\n");
 
    int i = N-1;
    for (int i = N-1, j = N-1; i >= 0 && j >= 0; j--)
    {
        int max_i = i, max_j = j;
        for (int m = i, n = j; m >= 0 && n >= 0; n--)
        {
            if (A[m][n] > A[max_i][max_j]) { max_i = m; max_j = n; }
            if (n <= 0) { m--; n = N; }
        }
 
        swap(A[i][j], A[max_i][max_j]);
        if (j <= 0) { i--; j = N; }
    }
 
    for (int r1 = 0; r1 < N; r1++)
    {
        for (int r2 = 0; r2 < N; r2++)
            printf("%d ",A[r1][r2]);
 
        printf("\n");
    }
 
    _getch();
 
    return 0;
}
 
void swap(int& n1, int& n2)
 { int _tn = n1; n1 = n2; n2 = _tn; }
http://codepad.org/Ub1PErhj
Миниатюры
Сортировка методом пузырька  
 
Текущее время: 17:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru