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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Опередить произведение элементов в тех строках матрицы, которые не содержат отрицательных элементов http://www.cyberforum.ru/cpp-beginners/thread1078092.html
Дана целочисленная квадратная матрица. Опередить: 1) произведение элементов в тех строках, которые не содержат отрицательных элементов. 2) максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы. #include <iostream.h> #include <clocale> int main(void)
C++ Составить программу для отображения Составить программу для отображения abc…………. .xyz bc……………xy c………… x mn http://www.cyberforum.ru/cpp-beginners/thread1078091.html
Создать программу, которая выводит псевдографические изображение буквы C++
Создать программу, которая выводит псевдографические изображение буквы "Р" и "Д" При каждом последующем выводе буквы выполнить ее масштабирование (увеличение или уменьшение в размере). Использовать вложенные циклы.
Программированиие алгоритмов со структурой вложенных циклов C++
Найти сумму элементов,стоящих ниже главной диагонали матрицы А(5,5).Помоги пожалуйста
C++ Обработка Литерных Величин http://www.cyberforum.ru/cpp-beginners/thread1078060.html
Определите,совпадает ли количество букв "а" в двух словах.Вставьте после буквы "я" в слове букву "к" и перед ней вставьте букву "с".Помогите пожалуйста сделать.Очень срочно надо
C++ Вызов копирующего конструктора Помогите привести примеры для всех случаев.. Копирующий конструктор вызывается в следующих случаях: 1)если объект типа type инициализируется значением типа type; 2) когда параметр типа type передается функции по значению; 3)когда функция возвращает значение типа type. подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7162 / 4328 / 631
Регистрация: 29.11.2010
Сообщений: 11,750
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 размер массива).
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru