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

Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию. - C++

Восстановить пароль Регистрация
 
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 03:15     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию. #1
Помогите пожалуйста.Очень надо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2012, 03:15     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию.
Посмотрите здесь:

Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова без изменения порядка следования их в слове C++
C++ Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2.
C++ Дана матрица вещественных чисел. Преобразовать матрицу таким образом, чтобы элементы ее строк шли по убыванию
Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот C++
Преобразовать строку таким образом, чтобы буквы каждого слова в ней были отсортированы по возрастанию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21503 / 10256 / 1670
Регистрация: 12.02.2012
Сообщений: 17,143
15.04.2012, 10:53     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию. #2
Держи:

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
#include "iostream.h"
 
int main(int argc, char* argv[])
{
    int Matr[5][4] ={{12,1,6,8},{-7,-11,6,66},{3,1,5,34},{11,22,33,-9},{100,0,-200,0}};
 
    int i,j,k,tmp,p;
 
    // Печать исх. матрицы
 
    cout << "Original matrix:" << endl;
 
    for (i=0; i<5; i++)
    {
        for (j=0; j<4; j++)
            cout << Matr[i][j] << " ";
        cout << endl;
    }
 
    // Сортировка
 
    p=1;
 
    for (i=0; i<5; i++)
    {
        for (j=0; j<4; j++)
            for (k=0; k<4; k++)
            {
                if (p > 0) 
                {
                    if (Matr[i][j] > Matr[i][k])
                    {
                        tmp=Matr[i][j];
                        Matr[i][j]=Matr[i][k];
                        Matr[i][k]=tmp;
                    }
                }
                else
                {
                    if (Matr[i][j] < Matr[i][k])
                    {
                        tmp=Matr[i][j];
                        Matr[i][j]=Matr[i][k];
                        Matr[i][k]=tmp;
                    }
                }
            }
            p=-p;
    }
 
    cout << "Matrix after sorting:" << endl;
 
    for (i=0; i<5; i++)
    {
        for (j=0; j<4; j++)
            cout << Matr[i][j] << " ";
        cout << endl;
    }
 
    return 0;
}
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 12:40  [ТС]     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию. #3
Цитата Сообщение от Catstail Посмотреть сообщение
Держи:
Этот вариант не запускается(

Добавлено через 14 минут
А как сделать чтобы можно было вводить размерность матрицы и она наполнялась случайным образом, а так все нормально как и в предложенном варианте?

Добавлено через 42 минуты
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
#include "StdAfx.h"
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
#include <locale.h>
int main( ) {
    setlocale(LC_ALL,"RUS");
   int n = 0,
       m = 0,
       averageOfRow = 0,
       **a = 0;
 
   std::srand( std::time( 0 ));
   
   std::cout << "Введите число строк: ";
   std::cin >> n;
 
   std::cout << "Введите число колонок: ";
   std::cin >> m;
 
   a = new int*[ n ];
 
   std::cout << "Рандомизированная матрица:" << std::endl;
   for ( int i = 0; i < n; i++ ) {
      a[ i ] = new int[ m ];
      averageOfRow = 0;
 
      for ( int j = 0; j < m; j++ ) {
         a[ i ][ j ] = std::rand() % 100;
         averageOfRow += a[ i ][ j ];
 
         std::cout << std::setw( 2 ) << a[ i ][ j ] << ' ';
      }
 
      a[ i ][ 0 ] = averageOfRow / m;
 
      std::cout << std::endl;
   }
 
   std::cout << "Обработанная матрица:" << std::endl;
   for ( int i = 0; i < n; i++ ) {
      for ( int j = 0; j < m; j++ )
         std::cout << std::setw( 2 ) << a[ i ][ j ] << ' ';
 
      std::cout << std::endl;
   }
 
   return 0;
}
как из этого кода и из предложенного выше сделать один целый код?
Catstail
Модератор
 Аватар для Catstail
21503 / 10256 / 1670
Регистрация: 12.02.2012
Сообщений: 17,143
15.04.2012, 13:22     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию. #4
у меня VC6.0; я скопировал РАБОТАЮЩИЙ ПРОЕКТ. Добавь в заголовок #include "StdAf.h".
Чтобы можно было водить размеры матрицы, массив нужно сделать динамическим, как в приведенном тобой коде.
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 13:38  [ТС]     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию. #5
Цитата Сообщение от Catstail Посмотреть сообщение
у меня VC6.0; я скопировал РАБОТАЮЩИЙ ПРОЕКТ.
А какой код ты скопировал?

Добавлено через 11 минут
Цитата Сообщение от Catstail Посмотреть сообщение
у меня VC6.0; я скопировал РАБОТАЮЩИЙ ПРОЕКТ. Добавь в заголовок #include "StdAf.h".
Чтобы можно было водить размеры матрицы, массив нужно сделать динамическим, как в приведенном тобой коде.
Совершенно верное, но я не могу сообразить как это все реализовать(
Catstail
Модератор
 Аватар для Catstail
21503 / 10256 / 1670
Регистрация: 12.02.2012
Сообщений: 17,143
15.04.2012, 13:45     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию. #6
Вот:

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
#include "stdafx.h"
#include "iostream.h"
#include "stdlib.h"
 
int main(int argc, char* argv[])
{
 
    int n,m,i,j,k,tmp,p;
 
    int **Matr;
 
    cout << "Insret number of rows ";
    cin >> n;
 
    cout << "Insret number of columns ";
    cin >> m;
 
    // Выделение памяти
 
    Matr=new int* [n];
 
    for (i=0; i < n; i++) Matr[i]=new int[m];
 
    // Заполнение случ. числами
 
    for (i=0; i < n; i++)
    for (j=0; j < m; j++)
        Matr[i][j]= rand() % 100;
 
    // Печать исх. матрицы
 
    cout << "Original matrix:" << endl;
 
    for (i=0; i<n; i++)
    {
    for (j=0; j<m; j++)
            cout << Matr[i][j] << " ";
        cout << endl;
    }
 
    // Сортировка
 
    p=1;
 
    for (i=0; i<n; i++)
    {
    for (j=0; j<m; j++)
        for (k=0; k<m; k++)
        {
            if (p > 0) 
            {
                if (Matr[i][j] > Matr[i][k])
                {
                    tmp=Matr[i][j];
                    Matr[i][j]=Matr[i][k];
                    Matr[i][k]=tmp;
                }
            }
            else
            {
                if (Matr[i][j] < Matr[i][k])
                {
                    tmp=Matr[i][j];
                    Matr[i][j]=Matr[i][k];
                    Matr[i][k]=tmp;
                }
            }
        }
        p=-p;
    }
 
    // Печать результата
 
    cout << "Matrix after sorting:" << endl;
 
    for (i=0; i<n; i++)
    {
    for (j=0; j<m; j++)
            cout << Matr[i][j] << " ";
    cout << endl;
    }
 
    // Удаление динам. массивов
 
    for (i=0; i < n; i++) delete Matr[i];
 
    delete Matr;
 
    return 0;
 
}
Добавлено через 2 минуты
Какой код я скопировал? Создаешь консольное приложение. Мастер генерирует заготовку для проц. main. Ее и скопировал. Всем это обычно помогает (если ты работаешь с VC6.0 из 98-й студии).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2012, 14:00     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию.
Еще ссылки по теме:

C++ Преобразовать массив таким образом, чтобы сначала располагались четные, а потом нечетные элементы
Преобразовать строку таким образом, чтобы все символы в ней были напечатаны наоборот C++
C++ Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот

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

Или воспользуйтесь поиском по форуму:
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 14:00  [ТС]     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию. #7
Catstail, Огромное тебе спасибо, а то уже и не знал что делать)
Yandex
Объявления
15.04.2012, 14:00     Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию.
Ответ Создать тему
Опции темы

Текущее время: 23:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru