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

Матрицы: отсортировать главную диагональ по убыванию - C++

Восстановить пароль Регистрация
 
pasha007914
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 9
19.05.2012, 02:13     Матрицы: отсортировать главную диагональ по убыванию #1

помогите написать программу, сессия на носуа я не шарю ....
задача:
Задана матрица А(7,7) целых чисел. Переставить в главную диагональ наименьшие элементы каждой строки и отсортировать главную диагональ по убыванию. Поиск наименьших элементов в строках и сортировку организовать с помощью подпрограмм
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 02:13     Матрицы: отсортировать главную диагональ по убыванию
Посмотрите здесь:

Создать функцию нахождения минимального элемента квадратной матрицы и сортировать её главную диагональ. C++
C++ Отсортировать главную диагональ матрицы по возрастанию, найти ее максимальный и минимальный элементы
C++ Составьте программу, обнуляющую главную диагональ матрицы, если в ней найдется хотя бы один отрицательный элемент
Заменить главную диагональ матрицы C++
Ввести рандомно матрицу и отсортировать главную диагональ матрицы по убыванию C++
C++ Заменить главную диагональ матрицы и выше неё на нули
C++ Упорядочить по возрастанию главную диагональ матрицы
Квадратная матрица: переставить главную и побочную диагональ этой матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
19.05.2012, 03:25
  #2

Не по теме:

Цитата Сообщение от pasha007914 Посмотреть сообщение
для умелых
задача прежде всего для вас


 Комментарий модератора 
Тема переименована! Читаем правила - пункт 3.3
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
19.05.2012, 03:44     Матрицы: отсортировать главную диагональ по убыванию #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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <random>
#define N 7
 
int* min_element_in_line(int *);
void sort_diag(int *);
 
int main()
{
    int arr[N][N], diag[N];
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> uid(0, 20); 
    std::generate(&arr[0][0], &arr[N][N], [&uid, &gen] {return uid(gen); } ); 
    std::for_each(arr, arr + N, [](const int* pvalue)
       {std::copy(pvalue, pvalue + N, std::ostream_iterator<int>
           (std::cout, " ") ); std::cout<< std::endl; } );
    int index = 0;
    std::cout<< std::endl; 
    std::for_each(arr, arr + N, [&index, &arr](int* pvalue)
       {std::swap(*min_element_in_line(pvalue), pvalue[index++] ); 
        std::copy(pvalue, pvalue + N, std::ostream_iterator<int>
            (std::cout, " ") ); std::cout<< std::endl; } );
    for (int i=0; i < N; i++)
        diag[i] = arr[i][i];
    std::cout<< std::endl; 
    sort_diag(diag);  
    for (int i=0; i < N; i++)
        arr[i][i] = diag[i];
    std::for_each(arr, arr + N, [](const int* pvalue)
       {std::copy(pvalue, pvalue + N, std::ostream_iterator<int>
           (std::cout, " ") ); std::cout<< std::endl; } );    
    return 0;
}  
 
int* min_element_in_line(int *a)
{
    return std::min_element(a, a + N);
} 
 
void sort_diag(int *x)
{
    std::sort(x, x + N, std::greater<int>());
}
Yandex
Объявления
19.05.2012, 03:44     Матрицы: отсортировать главную диагональ по убыванию
Ответ Создать тему
Опции темы

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