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

Если след матрицы A[n][m] больше 50, то все эелементы матрицы увеличить на 2. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ По поводу нового стандарта Си++ http://www.cyberforum.ru/cpp-beginners/thread231654.html
Всем доброго времени суток:) Меню волнует вопрос по этим нововведениям которые должны будут произойти(C++0x — будущая версия стандарта языка C++, вместо ныне существующего ISO/IEC 14882:2003.). Стоит ли начинать в нём разбираться или лучше подождать до момента его официального выхода? Учитывая, что работа над стандартом ещё не завершена — данная статья, возможно, не будет точно соответствовать...
C++ Имеется последовательность чисел содержащая n элементов определить количество четных чисел в последовательности. Имеется последовательность чисел содержащая n элементов определить количество четных чисел в последовательности. http://www.cyberforum.ru/cpp-beginners/thread231642.html
Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке C++
Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке. Реализовать, используя указатели. На языке С и блок-схема Помогите пожалуйста срочно последний шанс
C++ Задан одномерный массив, содержащий n элементов, определить сумму всех чётных элементов
Задан одномерный массив, содержащий n элементов. определить, сколько раз в нём встречается максимальное значение. Задан одномерный массив, содержащий n элементов, определить сумму всех чётных элементов.
C++ Событийное программирование. литература. http://www.cyberforum.ru/cpp-beginners/thread231598.html
Посоветуйте, пожалуйста, литературу по событийному программированию. Добавлено через 1 минуту конкретно - не знаю как организовать бесконечный цикл не загружающий сильно ОЗУ
C++ Сравнение long double (Invalid floating...) На этой строчке программа скомпилированная C++ Builder 2009 выдает ошибку Invalid floating point operation, хотя программа скомпилированная C++ Builder 6.0 работает и спокойно сравнивает эти числа. Все переменные имеют тип long double. Читал про сравнение вещественных чисел, но нашел только другую запись сравнения "==". Как это можно исправить? if((intX<=X)&&(intX>X)&&(intY<=Y)&&(intY>Y)) подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.01.2011, 18:48     Если след матрицы A[n][m] больше 50, то все эелементы матрицы увеличить на 2.
hakerok115, Что значит через другие функции? Разбить на функции программу или не использовать рандома + динамического распределения памяти? Конкретнее плз

Добавлено через 58 секунд
VenCarbon, Кстати. Увеличить на два, обычно не значит умножить на два...

Добавлено через 16 минут
С "другими" функциями

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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <ctime>
#include <cstdlib>
#include <iomanip>
 
int main()
{
    srand(static_cast<unsigned>(time(0)));
    int n, m;
    std::cin>>n;
    m=n;
    std::vector<std::vector<int> > vec;
    vec.resize(n);
    std::for_each(vec.begin(), vec.end(), [m](std::vector<int>& one) {one.resize(m);});
    std::for_each(vec.begin(), vec.end(), [m](std::vector<int>& one)
    {
         std::generate_n(one.begin(), m, [](){return rand()%20;});
    });
    std::for_each(vec.begin(), vec.end(), [](const std::vector<int>& vc)
    { 
        std::for_each(vc.begin(), vc.end(), [](int t) {std::cout<<std::setw(4)<<t;});
        std::cout<<'\n';
    });
    int trace=0;
    for(size_t i=0; i<vec.size(); ++i)
        trace+=vec[i][i];
    if(trace >= 50)
    {
        std::for_each(vec.begin(), vec.end(), [](std::vector<int>& vc)
        {
            std::transform(vc.begin(), vc.end(), vc.begin(), [](int f) {return f+2;});
        });
    }
    std::for_each(vec.begin(), vec.end(), [](const std::vector<int>& vc)
    { 
        std::for_each(vc.begin(), vc.end(), [](int t) {std::cout<<std::setw(4)<<t;});
        std::cout<<'\n';
    });
    system("pause");
    return 0;       
}
Добавлено через 17 минут
Или так. Покороче.

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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <ctime>
#include <cstdlib>
#include <iomanip>
#include <functional>
 
int main()
{
    srand(static_cast<unsigned>(time(0)));
    int n, m;
    std::cin>>n;
    m=n;
    std::vector<std::vector<int> > vec;
    vec.resize(n);
    std::for_each(vec.begin(), vec.end(), [m](std::vector<int>& one) {one.resize(m);});
    std::for_each(vec.begin(), vec.end(), [m](std::vector<int>& one)
    {
         std::generate_n(one.begin(), m, [](){return rand()%20;});
    });
    auto print=[](const std::vector<int> & vc)
    {
        std::for_each(vc.begin(), vc.end(), [](int t) {std::cout<<std::setw(4)<<t;});
        std::cout<<'\n';
    };
    std::for_each(vec.begin(), vec.end(), print);
    int trace=0;
    for(size_t i=0; i<vec.size(); ++i)
        trace+=vec[i][i];
    if(trace >= 50)
    {
        std::for_each(vec.begin(), vec.end(), [](std::vector<int>& vc)
        {
            std::transform(vc.begin(), vc.end(), vc.begin(), [](int f) {return f+2;});
        });
    }
    std::for_each(vec.begin(), vec.end(), print);
    system("pause");
    return 0;       
}
 
Текущее время: 14:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru