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

Упорядочить строки матрицы по неубыванию сумм положительных элементов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка массива строк http://www.cyberforum.ru/cpp-beginners/thread660598.html
Задание: Заполнить заранее проинициализированный массив строк фамилиями своей группы (не по порядку). Отсортировать все фамилии после вашей (Borzunov) и вывести их на экран. #include <cstdlib> #include <iostream> #include <string> using namespace std; int const a=8; int main()
C++ Захват звука с звуковой карты для отображения частотных характеристик Добрый день. Подскажите пожалуйста, как на С++ перехватывать звук, идущий на колонки? Т.е. я хочу отрисовывать столбец, который будит заполняться в зависимости от величины частоты. Короче, получать величины частот, поступающих на колонки. Гуглил долго, но везде конкретно не рассказано, только вода...Спрашивал на C# форуме, тоже никто ответить не может...Может быть на С++ удастся это... http://www.cyberforum.ru/cpp-beginners/thread660575.html
Переопределение БИНАРНОГО оператора внутри класса C++
Подскажите как правильно переопределить оператор + для сласса chislo. class chislo { int val; chislo chislo::operator +(const chislo &a, const chislo &b); }; Пишет мне ошибку: Слишком много параметров для вызова данной функции. Что не так? (задача допусти сложить 2 э-та класса число и присвоить значение третьему э-ту класса число (типо с = а + б) при это а,б,с - элементы класса число.)
C++ Оконное программирование
всем привет, кто поможет реализовать закрытие данной программы клавишей ESCAPE? т.е. при нажатии эскапе окно должно закрываться заранее спасибо, код ниже #include <windows.h> /* ïðîòîòèï ôóíêöèè îêíà */ LRESULT CALLBACK WindowFunc(HWND,UINT,WPARAM,LPARAM); /* ïðîòîòèï ôóíêöèè îòðèñîâêè ãðàôè÷åñêèõ ïðèìèòèâîâ è âûâîäà òåêñòà */ void DrawMessageAndEllipse(HWND hwnd,int x,int y,char *msg);...
C++ range-based for не работает http://www.cyberforum.ru/cpp-beginners/thread660554.html
#include <iostream> #include <vector> int main() { std::vector<int> v(30); for (auto z : v) { std::cout<<z<<std::endl; } system("PAUSE"); return 0;
C++ Конфликт кодировки между printf и scanf Всем привет, собственно такая проблема.. Код: #include <stdio.h> #include <conio.h> #include <locale.h> void main() { setlocale(LC_ALL, "Russian"); // Вариант первый //setlocale(LC_ALL, ".OCP"); // Вариант второй подробнее

Показать сообщение отдельно
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
30.09.2012, 11:14     Упорядочить строки матрицы по неубыванию сумм положительных элементов
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 <vector>
#include <algorithm>
#include <cstdlib>
#include <ctime>
 
#define rows 5
#define cols 5
 
template <typename T>
std::ostream& operator<< (std::ostream& stream, const std::vector<std::vector<T> >& mat)
{
    for (typename std::vector<std::vector<T> >::const_iterator i = mat.begin(), end = mat.end(); i != end; ++i)
    {
        for (typename std::vector<T>::const_iterator j = i->begin(), end = i->end(); j != end; ++j)
            stream << *j << " ";
        stream << std::endl;
    }
    return stream;
}
 
int main()
{
    srand(static_cast<unsigned int>(std::time(NULL)));
    std::vector<std::vector<double> > mat(rows, std::vector<double>(cols));
    
    // generating a matrix
    std::for_each(mat.begin(), mat.end(), [](std::vector<double>& v) -> void
    {
        std::generate(v.begin(), v.end(), []()->int { return rand() % 101 - 50; });
    });
    
    std::cout << "A raw matrix" << std::endl << mat << std::endl;
    
    // sorting a matrix
    sort(mat.begin(), mat.end(), [](const std::vector<double>& v1, const std::vector<double>& v2)->bool
    {
        double s1 = 0, s2 = 0;
        std::for_each(v1.begin(), v1.end(), [&s1](double v) -> void { if (v > 0) s1 += v; });
        std::for_each(v2.begin(), v2.end(), [&s2](double v) -> void { if (v > 0) s2 += v; });
        return s1 < s2;
    });
    
    std::cout << "A sorted matrix" << std::endl << mat << std::endl;
    return EXIT_SUCCESS;
}
 
Текущее время: 20:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru