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

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

22.01.2014, 00:47. Показов 1830. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста исправить ошибки. Сортировка пузырьком многомерного массива.
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
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
int i, j, p, k;
int a[3][3];
int randomize ();
cout<<"vveden massiv: ";
    {
    for (i=0; i<=3; i++)
        for(j=0; j<=3; j++)
            do
            {
            a[i][j]=1+rand()%257;
            cout<<a[3][3]<<" ";
            }
 
    for p=0; i<=3; i++;
        {
        for (i=0; i<=(3-1); i++)
            
            for(j=0; j<=(3-1); j++)
                if a[p,j]>a[p,j+1]
                {
                    k=a[p,j];
                    a[p,j]=a[p,j+1];
                    a[p,j+1]=k
                }
        
    }
    
cout<<"poluchaem massiv: ";
{
    for (i=0; i<=3; i++)
        for(j=0; j<=3; j++)
            do
            {
            cout<<a[i][j]<<" ";
            }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.01.2014, 00:47
Ответы с готовыми решениями:

Сортировка методом пузырька
добрый день по книге учу c++ и в книге был приведен пример сортировки элементов массива методом пузырька с использованием указателей ...

Сортировка методом пузырька
В чём проблема ? Почему оно криво сортирует ? // lab1.cpp: определяет точку входа для консольного приложения. // #include...

Сортировка методом пузырька
Ребята помогите , необходимо написать программу в с++ , для сортировки массива из 10 элементов введенных пользователем - методом...

9
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
22.01.2014, 00:49
Цитата Сообщение от Максюта Посмотреть сообщение
for p=0; i<=3; i++;
Что это?
0
0 / 0 / 0
Регистрация: 09.06.2013
Сообщений: 13
22.01.2014, 00:57  [ТС]
повторяет сортировку для каждой строки c 1 и по 3.
0
1 / 1 / 0
Регистрация: 05.01.2014
Сообщений: 11
22.01.2014, 01:07
Цитата Сообщение от Максюта Посмотреть сообщение
for (i=0; i<=(3-1); i++)
for(j=0; j<=(3-1); j++)
не совсем понимаю зачем ты отнимаешь 1. Попробуй убрать и запусти заново
1
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
22.01.2014, 01:07
Максюта,
Цитата Сообщение от Максюта Посмотреть сообщение
for p=0; i<=3; i++;
для записи цикла нужно использовать круглые скобки, и уж точно не нужно ставить ; сразу после инициализации цикла. Скорей всего вы имели ввиду:
C++
1
2
3
4
for(int p = 0;p<3;p++)
{
//тело цикла
}
1
0 / 0 / 0
Регистрация: 09.06.2013
Сообщений: 13
22.01.2014, 01:27  [ТС]
Помогите пожалуйста переписать программу c Pascal на С++

Pascal
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
Program sortirovka;
const
    m=3;
    n=3;
var
    a:array[1..n, 1..m] of integer;
    i, j, p, k: integer;
 
begin
    randomize;
    writeln ('Èñõîäíûé ìàññèâ: ');
    for i:=1 to n do
    begin
         for j:=1 to m do
         begin
              a[i,j]:=random(256);
              write (a[i,j]:4);
         end;
    writeln;
    end;
 
    for p:=1 to m do
      for i:=1 to n-1 do
      begin
          for j:=1 to n-i do
              if a[p,j] > a[p,j+1] then
              begin
                  k:=a[p,j];
                  a[p,j]:=a[p,j+1];
                  a[p,j+1]:=k
              end;
      end;
    writeln ('Îòñîðòèðîâàííûé ìàññèâ: ');
    for i:=1 to n do
    begin
         for j:=1 to m do
              write (a[i,j]:4);
    writeln;
    end;
end.
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
22.01.2014, 01:46
//Пузырьковая сортировка или сортировка погружением.
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
int main()
{
srand(time(NULL));
const int size = 20;
int A[size] = {};
int temp,k;
 
for (int i = 0; i < size; i++)
A[i] =1+ rand() % 100;
for (int j = 1; j < size; j++)
for ( k = 0; k < size - 1; k++)
if (A[k] > A[k + 1])
{
temp = A[k];
A[k] = A[k + 1];
A[k + 1] = temp;
}
//выводим на экран отсортированный массив
for (int l = 0; l < size; l++)
cout << A[l] << "; ";
cout << endl << endl;
return 0;
}
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.01.2014, 01:49
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
#include <cstdlib>
#include <ctime>
#include <iostream>
 
int main()
{
    std::srand(time(0));    // инициализируем генератор ПСЧ текущим временем
    const int M = 3, N = 4; // размеры нашего массива
    int A[M][N];            // объявляем двумерный массив
    int B[M*N];             // вспомогательный массив
 
    std::cout << "Before:\n";
    for (int i=0; i < M; i++) // для каждой строки массива
    {
        for (int j=0; j < N; j++) // для каждого элемента
        {
            A[i][j] = rand() % 100; // инициализиоруем СЧ в диапазоне [0, 99]
            std::cout << A[i][j] << " "; // выводим на экран
            B[i*N + j] = A[i][j];        // запоминаем значение
        }
        std::cout << std::endl;
    }
 
    // сортируем вспомогательный массив с помощью пузырьковой сортировки
    for (int i=0; i < M*N; i++)
        for (int j=M*N - 1; j > i; j--)
            if (B[j] < B[i])
            {
                int tmp = B[i];
                B[i] = B[j];
                B[j] = tmp;
            }
 
    // переносим значения в наш двумерный массив и выводим их на экран
    std::cout << "\nAfter:\n";
    for (int i=0; i < M; i++) // для каждой строки массива
    {
        for (int j=0; j < N; j++) // для каждого элемента
        {
            A[i][j] = B[i*N + j];
            std::cout << A[i][j] << " "; // выводим на экран
        }
        std::cout << std::endl;
    }
}
Прошу обратить внимание, что индексация элементов массива начинается с 0 и идет до N-1 включительно. Элемента с индексом N нет. (Принимает за N размер массива).
1
0 / 0 / 0
Регистрация: 09.06.2013
Сообщений: 13
22.01.2014, 02:07  [ТС]
Спасибо за помощь) Все доступно написали. Я только не поняла как задался массив
Цитата Сообщение от Genn55 Посмотреть сообщение
int A[size] = {};
фигурные скобки зачем? Объясните, пожалуйста)
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.01.2014, 02:19
Максюта, я же вам здесь дал подробный ответ с комментариями. Зачем вам еще темы дублировать? У нас это запрещено правилами форума.

Фигурные скобки используются для инициализации массива. Если мы не указываем какие-либо элементы явно, то они заполняются нулями. Можно сказать, что здесь все элементы ими заполняются.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.01.2014, 02:19
Помогаю со студенческими работами здесь

Сортировка методом пузырька
Всем привет. Ругается на i. Пишет Выражение должно иметь тип указателя на объект. В дополнении пишет что swap не определен. Помогите...

Сортировка методом пузырька
Приветствую всех. Нужно решить простую задачу. Есть массив из 10 элементов от 0 по 9. И в нём записаны различные числа. И их нужно...

Сортировка методом пузырька
массив я задал, а вот сортировку не могу сделать(( #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;ctime&gt; #include...

Сортировка методом Пузырька
Сортировка методом Пузырька!!! Эта программа мне нужна на курсовую - помогите сделать! Если можно не самую простую!!!:help:

Сортировка методом пузырька
всем доброго времени суток сделал программу делающую сортировку методом пузырька, она работает только с целыми числами, не мог бы...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru