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

Поменять столбцы матрицы местами (четный и нечетный) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как лучше написать программу если она большая? http://www.cyberforum.ru/cpp-beginners/thread1082297.html
к примеру пишется код программы...код будет большим и многофункциональным.как будет правильно написать эту программу чтобы не висла при обработке информации? никогда такой большой программы не писал,а сейчас захотелось и прошу помощи. если вопрос не ясен могу еще подробней пояснить. использую студию vs 2012
C++ Сумма цифр числа Ребята, подскажите, Какого черта не выводит сумму цифр числа? #include <iostream> using namespace std; int main() { cout << " Ia pos4itayu summu vseh cifr v chisle" << endl; http://www.cyberforum.ru/cpp-beginners/thread1082294.html
Является ли число суммой некоторого количества двух чисел C++
Вообще задание детское - кафе продает по 3 и по 5 шариков мороженного. Можно ли купить ровно k шариков мороженного? С написанием программы проблем, естественно, не возникнет, но алгоритм не могу придумать (задание 8-го класса, попросили помочь, алгоритм не будет сложным), я прям в ступоре. Кто как считает, какими простыми действиями можно узнать, является ли число суммой некоторого...
Как записать в переменную значения других переменных? C++
Как мне сделать так, чтобы в 3 строке были их значения? String login = Edit1->Text; String pass = Edit2->Text; AnsiString asPostData = "login=login&pass=pass";
C++ функция сдвига столбцом матрицы местами и функция вычисления разности максимального и минимального значений матрицы http://www.cyberforum.ru/cpp-beginners/thread1082281.html
надо программу написать. для этого надо написать эти две функции. помогите. как сделать?
C++ Вычислить ф-ю подробнее

Показать сообщение отдельно
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
27.01.2014, 02:22     Поменять столбцы матрицы местами (четный и нечетный)
Если я правильно понял задание, то:
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
#include <iostream>
#include <ctime> 
#include <iomanip>
 
using namespace std;
 
int findMaxSubMin(int ** arr, int r, int c)
{
    int MIN = arr[0][0], MAX = arr[0][0];
    for (int i = 0; i < r; ++i)
    {
        for (int j = 0; j < c; ++j)
        {
            if (arr[i][j] < MIN)
                MIN = arr[i][j];
            if (arr[i][j] > MAX)
                MAX = arr[i][j];
        }
    }
    return MAX - MIN;
}
 
bool existMaxSubMin(int * arr, int s, int val)
{
    for (int j = 0; j < s; ++j)
        if (arr[j] == val)
            return true;
    return false;
}
 
void showMatrix(int ** arr, int r, int c)
{
    for (int i = 0; i < r; ++i)
    {
        for (int j = 0; j < c; ++j)
            cout << setw(5) << arr[i][j];
        cout << endl;
    }
}
 
int main()
{
    srand(time(0));
    cout << "enter number of rows: ";
    int rows;
    cin >> rows;
    cout << "enter number of columns: ";
    int col;
    cin >> col;
    int ** arr = new int * [rows];
    for (int i = 0; i < rows; i++)
        arr[i] = new int[col];
    for (int i = 0; i < rows; ++i)
        for (int j = 0; j < col; ++j)
            arr[i][j] = 1 + rand() % 10;
    cout << endl;
    showMatrix(arr, rows, col);
    int * curr_col = new int [rows];
    int * next_col = new int [rows];
    int max_sub_min = findMaxSubMin(arr, rows, col);
    for (int j = 0, k = 1; j < col && k < col; j += 2, k += 2)
    {
        for (int i = 0; i < rows; ++i)
        {
            curr_col[i] = arr[i][j];
            next_col[i] = arr[i][k];
        }
        if ( !existMaxSubMin(curr_col, rows, max_sub_min) && !existMaxSubMin(next_col, rows, max_sub_min) )
        {
            for (int i = 0; i < rows; ++i)
            {
                int tmp_val = arr[i][j];
                arr[i][j] = arr[i][k];
                arr[i][k] = tmp_val;
            }
        }
    }
    cout << endl;
    showMatrix(arr, rows, col);
    system("pause");
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru