1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
1

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

15.04.2012, 03:15. Показов 2433. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста.Очень надо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2012, 03:15
Ответы с готовыми решениями:

Преобразовать матрицу так, чтобы строки с нечетными индексами были упорядочены по убыванию, c четными - по возрастанию
Здравствуйте,нужна помощь в одной задачке,а именно(Преобразовать матрицу так, чтобы строки с...

Преобразовать строку таким образом, чтобы слова были упорядочены по возрастанию своей длины.
Дана строка, состоящая из слов. Преобразовать строку таким образом, чтобы слова были упорядочены по...

Расставить строки таким образом, чтобы элементы в 1-м столбце были упорядочены по убыванию
Pascal (Паскаль),матрица MxM, сост. из натур. чисел., Расставить строки таким образом, чтобы...

Расставить строки матрицы таким образом, чтобы элементы в первом столбце были упорядочены по убыванию
Например, есть программа для следующего двумерного массива. #include <stdio.h> #include <conio.h>...

6
Модератор
Эксперт функциональных языков программированияЭксперт Python
35497 / 19973 / 4184
Регистрация: 12.02.2012
Сообщений: 33,136
Записей в блоге: 13
15.04.2012, 10:53 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;
}
0
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 12:40  [ТС] 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;
}
как из этого кода и из предложенного выше сделать один целый код?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
35497 / 19973 / 4184
Регистрация: 12.02.2012
Сообщений: 33,136
Записей в блоге: 13
15.04.2012, 13:22 4
у меня VC6.0; я скопировал РАБОТАЮЩИЙ ПРОЕКТ. Добавь в заголовок #include "StdAf.h".
Чтобы можно было водить размеры матрицы, массив нужно сделать динамическим, как в приведенном тобой коде.
0
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 13:38  [ТС] 5
Цитата Сообщение от Catstail Посмотреть сообщение
у меня VC6.0; я скопировал РАБОТАЮЩИЙ ПРОЕКТ.
А какой код ты скопировал?

Добавлено через 11 минут
Цитата Сообщение от Catstail Посмотреть сообщение
у меня VC6.0; я скопировал РАБОТАЮЩИЙ ПРОЕКТ. Добавь в заголовок #include "StdAf.h".
Чтобы можно было водить размеры матрицы, массив нужно сделать динамическим, как в приведенном тобой коде.
Совершенно верное, но я не могу сообразить как это все реализовать(
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
35497 / 19973 / 4184
Регистрация: 12.02.2012
Сообщений: 33,136
Записей в блоге: 13
15.04.2012, 13:45 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-й студии).
1
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 14:00  [ТС] 7
Catstail, Огромное тебе спасибо, а то уже и не знал что делать)
0
15.04.2012, 14:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2012, 14:00
Помогаю со студенческими работами здесь

Расставить строки матрицы таким образом, чтобы элементы в первом столбце были упорядочены по убыванию
Дана матрица NxM, состоящая из натуральных чисел. Расставить строки таким образом, чтобы элементы в...

Двумерный массив. Расставить строки таким образом, чтобы элементы в первом столбце были упорядочены по убыванию
Здравствуйте, уважаемые программисты... Тема 5. Двумерные массивы Дана матрица N x M,...

Упорядочить строки матрицы таким образом, чтобы значения первых элементов строк были упорядочены по возрастанию
Дана действительная матрица размера N × M. Упорядочить строки матрицы таким образом, чтобы значения...

Преобразовать матрицу так, чтобы строки с нечентыми элементами были упорядочены по убыванию, с четными по взорастанию.
Программка выдает решение на половину правильное, появляются какие то лишние нули. И ещё ругается...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru