С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

19.05.2012, 02:13. Просмотров 734. Ответов 2
Метки нет (Все метки)


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

Ввести рандомно матрицу и отсортировать главную диагональ матрицы по убыванию - C++
ввести рандомно матрицу и отсортировать главную диагональ матрицы по убыванию и вывести эту отсортированную матрицу

Отсортировать главную диагональ матрицы по возрастанию, найти ее максимальный и минимальный элементы - C++
Люди помогите отсортировать главную диагональ матрицы по возрастанию Очень нужно... Саму матрицу я уже задал, мне нужно только...

Найти сумму элементов матрицы и заменить ею главную диагональ матрицы - C++
Вот что я написал: // ConsoleApplication17.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" ...

Заменить главную диагональ матрицы - C++
Нужна помощь. Не могу заменить главную диагональ матрицы минимальным элементом, напишите пожалуйста. #include <iostream> ...

Упорядочить по возрастанию главную диагональ матрицы - C++
Упорядочить по возрастанию главную диагональ матрицы.

Вывести главную диагональ заданной матрицы в консоль - C++
Дан массив, нужно вывести главную диагональ в консоль #include <iostream> #include <iomanip> #include <math.h> #include <stdlib.h> ...

2
Jupiter
19.05.2012, 03:25
  #2

Не по теме:

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


 Комментарий модератора 
Тема переименована! Читаем правила - пункт 3.3
0
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,634
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>());
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2012, 03:44
Привет! Вот еще темы с ответами:

Заменить главную диагональ матрицы и выше неё на нули - C++
Заменить нулями все элементы, расположенные на главной диагонали квадратной матрицы и выше нее. Код всей моей программы: int main() ...

Найти максимумы в каждом столбце матрицы и переместить их на главную диагональ - C++
Дана квадратная матрица. Найти максимумы в каждом столбце и переместить их на главную диагональ

Квадратная матрица: переставить главную и побочную диагональ этой матрицы - C++
Дано натуральное число n, что определяет количество строк и столбцов матрицы,числа являются целыми. Надо переставить местами главную и...

Найти наименьшие элементы каждой строки квадратной матрицы и поместить их на главную диагональ - C++
где ошибка ? нужно найти малейшие элементы каждой строки квадратной матрицы и поместить их на главную диагональ а диагональные элементы...


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

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

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