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

Отсортировать нечетные строки матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Операторы форматного вывода на экран http://www.cyberforum.ru/cpp-beginners/thread400747.html
Народ, помогите.... заранее благодарю.... Напечатать таблицу значений функции f(x) и суммы S(x) в виде таблицы. Х изменяется в диапазоне от a до b с шагом h. Вычисление суммы вести до тех пор,...
C++ помогите понять (генератор чисел) помогите, пожалуйста, разобраться: С++ начал изучать буквально неделю назад, решил применить все полученные на данный момент знания на практике и написал программку, которая сама загадывает себе... http://www.cyberforum.ru/cpp-beginners/thread400738.html
C++ Задачка по С++
Программа вычисления стоимости покупки с учетом скидки.Скидка предоставляется, если сумма>1000(5%), более 5000(?%), а так же дополнит скидка 3%- в выходные дни. Информация о том является ли день...
C++ Нужна упращенная модель разделения текста по указательным символам
Доброго времени суток. Нужна упращенная модель разделения текста (массива) по указательным символам, допустим у нас имеется комманда #run%text.txt - где # указатель что следующий символ что будет...
C++ Сформировать массив из элементов исходного массива, располагающихся по возрастанию http://www.cyberforum.ru/cpp-beginners/thread400731.html
например из массива (3 2 4 5 1 3 7 3 4 9 2) должен получиться массив (3 4 5 7 9) т.е. из возрастающих элементов. не могу понять как делать=( Добавлено через 10 минут если можно то на языке...
C++ С++ структура даных очередь привет всем, помогите плиз з кодом С++ , необходимо написать программу на основе абстрактного типа даных очереди. В магазине стоит очередь из m покупателей. Время обслуживания покупателя из... подробнее

Показать сообщение отдельно
Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
07.12.2011, 08:30
мой вариант
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
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
 
#define size_i 6 // количество строк
#define size_j 7 // количество столбцов
// заполнение массива случайными целочисленными значениями
void init_array( int array[], const size_t dimm1, const size_t dimm2 );
// вывод массива на экран
void print_array( int array[], const size_t dimm1, const size_t dimm2 );
// обмен значений
void swap( int& x, int& y );
// сортировка массива
void sort_array( int array[], const size_t dimm1, const size_t dimm2 );
 
int main() {
    srand( time( NULL ) );
 
    int arr[ size_i ][ size_j ];
 
    init_array( *arr, size_i, size_j );
    cout << "Начальный массив" << endl;
    print_array( *arr, size_i, size_j );
    cout << endl;
    sort_array( *arr, size_i, size_j );
    cout << "Отсортированный массив" << endl;
    print_array( *arr, size_i, size_j );
 
    return 0;
}
 
void init_array( int array[], const size_t dimm1, const size_t dimm2 ) {
 
    for ( size_t i = 0; i < dimm1; ++i )
        for ( size_t j = 0; j < dimm2; ++j )
            array[ i * size_j + j ] = rand() % 100;
}
 
void print_array( int array[], const size_t dimm1, const size_t dimm2 ) {
 
    for ( size_t i = 0; i < dimm1; ++i ) {
        for ( size_t j = 0; j < dimm2; ++j )
            cout << array[ i * size_j + j ] << " ";
 
        cout << endl;
    }
}
 
void swap( int& x, int& y ) {
    x += y;
    y = x - y;
    x -= y;
}
 
void sort_array( int array[], const size_t dimm1, const size_t dimm2 ){
    for ( size_t i = 0; i < dimm1; ++i )
        for ( size_t j = 0; j < dimm2; ++j )
            for ( size_t k = dimm2 - 1; k > j; --k )
                if ( i % 2 ) {
                    if ( array[ i * dimm2 + k ] < array[ i * dimm2 + k - 1 ] )
                        swap( array[ i * dimm2 + k ], array[ i * dimm2 + k - 1 ] );
 
                } else if ( array[ i * dimm2 + k ] > array[ i * dimm2 + k - 1 ] )
                    swap( array[ i * dimm2 + k ], array[ i * dimm2 + k - 1 ] );
 
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru