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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pww62
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 5
#1

Преобразование матрицы - C++

08.06.2011, 09:06. Просмотров 727. Ответов 2
Метки нет (Все метки)

Здравствуйте. Помогите разобраться как сделать это задание
Переформировать квадратную матрицу размерностью N таким образом, чтобы ее строки располагались по возрастанию их первых элементов. Значение N программа должна запрашивать в диалоговом режиме, память под матрицу следует распределять динамически. Напишите функции:
1. -заполнения двумерного массива случайными числами из диапазона –200, +200;
2. -вывода двумерного массива;
3. -сортировки строки матрицы по возрастанию;
4. преобразования матрицы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2011, 09:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразование матрицы (C++):

Преобразование матрицы (удалить из матрицы столбец с наибольшей по модулю суммой элементов) - C++
Всем привет, есть программа для ввода матрицы и вывода на экран. Нужно удалить из матрицы столбец с наибольшей по модулю суммой элементов. ...

Преобразование матрицы - C++
Задание такое: Нужно поменять местами строку матрицы с минимальным элементом со строкой, которую задаю вручную. Вот код: к "y"-ку...

преобразование матрицы - C++
помогите решить.преобразовать заданную матрицу x(p,k) таким образом чтобы первый элемент каждого столбца был заменен произведением...

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

преобразование матрицы - C++
провести преобразование матрицы А таким образом:положительные элементы заменить на число 2 ,отрицательные -на 1,нулевые -на 3:

Преобразование матрицы - C++
Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке. Не могу поменять...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
08.06.2011, 14: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
#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <time.h>
 
//генератор псевдослучайных чисел в диапазоне от -200 до 200
//для алгоритма std::generate
int myrandom()
{   return  rand() % 401 - 200;
}
 
//компаратор для алгоритма std::sort
bool mycompare(const std::vector<int> &a, 
               const std::vector<int> &b)
{   return lexicographical_compare(a.begin(), a.end(), b.begin(), b.end());
}
 
int main()
{   size_t N;
    std::cout << "Enter the size of square matrix: ";
    std::cin >> N;
    if (std::cin.fail()) {
        std::cerr << "Invalid size!\n";
        return 1;
    }
    std::vector<int> line(N);
    std::vector<int>::iterator j;
    std::vector<std::vector<int> > m(N, line);
    std::vector<std::vector<int> >::iterator i;
 
    srand(time(NULL)); // заполнение матрицы
    for (i = m.begin(); i != m.end(); ++i)  
        std::generate(i->begin(), i->end(), myrandom);
 
    std::sort(m.begin(), m.end(), mycompare); 
    
    std::cout << "Matrix:\n"; // вывод
    for (i = m.begin(); i != m.end(); ++i) {
        for (j = i->begin(); j != i->end(); ++j)
            std::cout << std::setw(5)
                      << std::setiosflags(std::ios::right) 
                      << *j;
        std::cout << std::endl;
    }
   return 0;
}
pww62
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 5
08.06.2011, 15:28  [ТС] #3
Собственно задание уже решил , но все равно спасибо))
Вот что у меня получилось
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
/*Переформировать квадратную матрицу размерностью N таким образом, чтобы ее столбцы располагались по возрастанию их первых элементов.
Значение N  программа должна запрашивать в диалоговом режиме, память под матрицу следует распределять динамически. Напишите  
1.  -зполнения двумерного массива случайными числами из диапазона –200, +200;
2.  -вывода двумерного массива;
3.  -сортировки столбца матрицы по возрастанию;
4.  преобразования матрицы.*/
#include <iostream>
#include "text.h"
#include <stdlib.h>
#include <time.h>
#include <conio.h>
using namespace std;
void mass(int **a, int N);
void vmass(int **a,int N);
void sortmass(int **a, int N);
void mass(int **a, int N)
    {for (int j=0;j<N;j++){
        for (int i=0;i<N;i++)
        a[j][i]=rand()%(301)-200;}}
 
void vmass(int **a,int N)
{for (int j=0;j<N;j++){{
        for (int i=0;i<N;i++)
        cout<<a[j][i]<<" ";
}cout<<"\n";}}
 
void sortmass(int **a, int N)
{
    int b;
    for (int i=0;i<(N-1);i++)
    {
        for (int j=0;j<(N-1);j++)
        if (a[0][j]>a[0][j+1])
        {
            for (int k=0;k<N;k++)
            {
                b=a[k][j];
                a[k][j]=a[k][j+1];
                a[k][j+1]=b;
            }
        }
    }
}
 
int main(void)
{int n;
cout<<T("Введите размер матрицы ");
cin>>n;
int **a=new int *[n];
for (int i=0;i<n;i++)
a[i]=new int [n];
srand((unsigned)time( NULL ));
mass(a,n);
cout<<T("Рандомная матрица размером ")<<n<<" x "<<n<<":"<<"\n";
vmass(a,n);
sortmass(a,n);
cout<<T("Отсортированная матрица:")<<"\n";
vmass(a,n);
cout<<"\n";
getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2011, 15:28
Привет! Вот еще темы с ответами:

Преобразование матрицы - C++
Ребята! помогите пожалуйста Задание: Дана символьная матрица размера n*m. Преобразовать ее таким образом, чтобы элементы каждой...

Выполнить преобразование матрицы - C++
Дана прямоугольная матрица nxm целых чисел (n,m&lt;10 – ввод с клавиатуры, значения элементов массива в диапазоне – вводятся случайным...

Преобразование двумерной матрицы - C++
В двумерном массивеb найдите 4 последовательных элемента сумма которых максимальна.Обход начать с элемента по часовой стрелке. Когда...

Преобразование целочисленной матрицы - C++
Помогите написать! Дана целочисленная матрица размерности nxn. Если сумма по модулю элементов каждой последующей строки больше...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru