Форум программистов, компьютерный форум 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; ). Вопрос такой как проверить действительно ли введено число либо нет ? подробнее

Показать сообщение отдельно
andyoO
1 / 1 / 0
Регистрация: 19.12.2012
Сообщений: 68
07.05.2013, 00:24  [ТС]     Сортировка методом пузырька
ребят, подскажите, как исправить выход за пределы массива, я чет вообще не соображу никак(
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#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;
 
int main()
{ setlocale(0,"");
srand (time(NULL));
   int i, j, el, m, k,l, kol= 0, w, last, first, mid, row, col, **ar,n,v,a,b,temp,c,N,M;
    cout<< ("Введите количество строк: ");
   cin>>row;
     cout<< ("Введите количество столбцов: ");
   cin>>col;
   cout<<("\nМаcсив:\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Искомая матрица\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Введите количество искомых элементов:");
   cin>>M;
   for (N=0;N<M;N++)
   {printf ("\nВведите %2d искомый элемент: ",N+1);         //искомый элемент
   cin>>el;
   // Последовательный поиск
   
   cout<<("\nПоследовательный поиск:\n");
   for (j= 0; j < col; j+=2)
   {
      for (i= 1; i < row; i+=2)
      {
         if (ar[i][j] == el)
         {
            kol++;
            cout<<("\nИскомый элемент найден в четных строках и нечетных столбцах:\n");
            printf("%2d строка %2d столбец \n", i + 1, j + 1);
         }
      }
   }    
   if (kol == 0)
      printf("Искомый элемент не найден в четных строках и нечетных столбцах\n"); 
   }
 for (int k=0; k<row;++k)
 { 
     for(int l=0;l<col;++l)
   { 
       for(int i=0; i<row;++i)
     { 
         for(int j=0; j<col;++j)
        {
           if (i+1 == row && j+1==col)
              {
               continue;
               }
           else
              {
                if(j+1 == col &&  ar[i][j]>ar[i+1][0])
                  {
                    int temp=ar[i][j];
                    ar[i][j]=ar[i+1][0];
                    ar[i+1][0]=temp;
                  }
           else
              {
                 if (ar[i][j]>ar[i][j+1])
                   {
                     int temp=ar[i][j];
                     ar[i][j]=ar[i][j+1];
                     ar[i][j+1]=temp;
                   }
              }
              }
        }
     }
   }
 }
 
 
 
   cout<< ("\nОтсортированный массив:\n");  //вывод массива
   for (i= 0; i < row; i++)                 
       {                                   
      for (j= 0; j < col; j++)   
          {                               
          printf("%4i", ar[i][j]);}                                  
      cout<<("\n");                     
       }
   cout<<"\n";
 
   return 0;
}
 
Текущее время: 21:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru