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

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

Восстановить пароль Регистрация
 
Whiskey
0 / 0 / 0
Регистрация: 08.01.2011
Сообщений: 9
19.01.2011, 12:46     Преобразование и построение матриц #1
1.Дана действительная матрица размерности nXm, все элементы которой различны.В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее.Указать индексы элемента с найденным значением.
2.Даны две целочисленные квадратные матрицы порядка 6.Найти последовательность из нулей и единиц b1,b2,....,b6 такую ,что bi=1,когда количество отрицательных и неотрицательных элементов i-той строки первой матрицы совпадает с количеством отрицательных и неотрицательныз элементов i-той строки второй матрицы.
3.Дана действительный квадратная матрица порядка 2n.Получить новую матрицу, переставляя ее блоки размерности nXn так как показано в прикреплееном документе.
Задачи нужно на языке С++.
Заранее благодарен за уделенное внимание.
Вложения
Тип файла: 7z Документ Microsoft Word.7z (117.7 Кб, 20 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2011, 12:46     Преобразование и построение матриц
Посмотрите здесь:

преобразование матриц C++
Умножение матриц C++
C++ умножение матриц
Построение матриц C++
Обработка матриц C++
Умножение матриц C++
C++ Преобразование и построение матриц
C++ Транспонирование матриц. Произведение транспонированных матриц

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.01.2011, 13:12     Преобразование и построение матриц #2
Цитата Сообщение от Whiskey Посмотреть сообщение
1.Дана действительная матрица размерности nXm, все элементы которой различны.В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее.Указать индексы элемента с найденным значением.
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
#include <iostream>
#include <algorithm>
#include <vector>
#include <iomanip>
 
typedef std::vector<int>      T_arr;
typedef std::vector<T_arr>    T_matr;
 
int main()
{
    T_matr matr;
 
    size_t n, m;
    std::cout << "\n\nEnter n -> ";
    std::cin >> n;
 
    std::cout << "\n\nEnter m -> ";
    std::cin >> m;
    matr.resize(n);
 
    T_arr tmp;
    int i = 0;
    std::generate(matr.begin(), matr.end(), [&tmp, &i, &m]() -> T_arr
    {
        int a_, j = 0;
        tmp.clear();
        tmp.resize(m);
        std::generate(tmp.begin(), tmp.end(), [&a_, &i, &j]() -> int
        {
            std::cout << "Matr[" << i << "][" << j++ << "] = ";
            std::cin >> a_;
            return a_;
        });
 
        ++i;
        return tmp;
    });
 
    std::cout << "\n\nMatrix: \n";
    std::for_each(matr.begin(), matr.end(), [](T_arr &a)
    {
        std::for_each(a.begin(), a.end(), [](int a_)
        {
            std::cout << std::setw(3) << a_ << ' ';
        });
        std::cout << '\n';
    });
 
    tmp.clear();
    std::for_each(matr.begin(), matr.end(), [&tmp](T_arr &a)
    {
        tmp.push_back(*std::min_element(a.begin(), a.end()));
    });
 
    std::cout << "\n\nMin in rows: \n";
    std::for_each(tmp.begin(), tmp.end(), [](int a)
    {
        std::cout << a << ' ';
    });
 
    i = 0;
    int idx, _idx;
    std::for_each(matr.begin(), matr.end(), [&tmp, &i, &idx, &_idx](T_arr &a)
    {
        int j = 0;
        std::for_each(a.begin(), a.end(), [&tmp, &j, &i, &idx, &_idx](int a_)
        {
            if(a_ == *std::max_element(tmp.begin(), tmp.end()))
            {
                idx = i;
                _idx = j;
            }
            ++j;
        });
        ++i;
    });
 
    std::cout << "\n\nMax elem and index: \n" << *std::max_element(tmp.begin(), tmp.end())
                                              << '\t' << idx << ' ' << _idx;
}
Yandex
Объявления
19.01.2011, 13:12     Преобразование и построение матриц
Ответ Создать тему
Опции темы

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