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

Упорядочить строки массива в соответствии с ростом характеристики строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Одна на тему: Символы и рядки http://www.cyberforum.ru/cpp-beginners/thread96173.html
Помогите в решении задачи, а то я застопорился немного.Вот условие 1. Задана строка, среди символов которого есть как минимум одна запятая. Найти номер последней по порядку запятой. Заранее благодарен!!!!
C++ что не так? #include <iostream.h> #include <conio.h> #include <string.h> #include <stdlib.h> class students { int i,kil,j; char name,fath,group,tel,zalik,fam; char *f; public: http://www.cyberforum.ru/cpp-beginners/thread96165.html
Работа со строками C++
Задача №1 Удалить лишние пропуски в введенной строке символов. Задача №2 Посчитать частоту появления букв в строке, если считать ровными буквы в верхнем и нижнем регистре. Задача№3 В строке слов все слова, которые состоят из четырех букв, удалить, а слова, которые состоят из пяти букв, заменить словом «сурок». Задача№4 В строке слов из букв латинского алфавита найти слова, в которых нет...
C++ выделить слово в тексте
Задан текст Си - программы (у входном файле или массиве символов). Найти (выделить другим цветом или подчеркнуть) служебные слова Си. Использовать функцию strtok().
C++ свой strcpy() http://www.cyberforum.ru/cpp-beginners/thread96046.html
кто может написать или показать, или подсказать код к функции либы стринг.н - strcpy() я уже замучался искать правильный вариант, 3 часа ночи, завтра вставать в 6:00, сжальтесь ктонить, дайте код нуждающемуся)
C++ Создать массив, состоящий из делителей данного числа и вывести его на экран Ребятки помогите пожалуйста ,а то чет дяпля не кину в С++ Ввести с клавы 3-хзначное число N. Создать массив, состоящий из делителей данного числа и вывести его на экран. С меня магар отвечаю)))) подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9453 / 5466 / 926
Регистрация: 25.07.2009
Сообщений: 10,490
16.02.2010, 20:42     Упорядочить строки массива в соответствии с ростом характеристики строки
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
#include <iostream>
#include <iomanip>
#include <vector>
#include <functional>
#include <algorithm>
#include <iterator>
#include <cstdlib>
#include <ctime>
 
/*
*   Для заданного двумерного массива из n строк и m столбцов:
*   Упорядочить строки массива в соответствии с ростом характеристики строки. 
*   Характеристикой строки считать сумму её положительных чётных элементов. 
*/
 
typedef std::vector<int> IntVec_t;
 
/* возвращает сумму положительных чётных элементов */
int sumPositiveEvens(const IntVec_t& vec){
    int sum = 0;
    for ( IntVec_t::const_iterator i = vec.begin(); i != vec.end(); ++i )
        if ( *i > 0 && !(*i & 1) )
            sum += *i;
    return sum;
}
 
struct compareRows : public std::binary_function<IntVec_t, IntVec_t, bool> {
    bool operator()(const IntVec_t& a, const IntVec_t& b) const {
        return sumPositiveEvens(a) < sumPositiveEvens(b);
    }
};
 
void printMatrix(const std::vector<IntVec_t>& vec){
    for ( std::vector<IntVec_t>::const_iterator i = vec.begin(); i != vec.end(); ++i ){
        for ( IntVec_t::const_iterator j = i->begin(); j != i->end(); ++j )
            std::cout << std::setw(3) << std::right << *j;
        std::cout << std::endl;
    }
}
 
int main(){
    const int rows = 5;
    const int columns = 10;
    std::vector<IntVec_t> matrix(rows, IntVec_t(columns));
    
    srand(time(NULL));
    
    for ( std::vector<IntVec_t>::iterator i = matrix.begin(); i != matrix.end(); ++i )
        for ( IntVec_t::iterator j = i->begin(); j != i->end(); ++j )
            *j = rand() % 10 - 5;
    
    std::cout << "Original matrix:" << std::endl;
    printMatrix(matrix);
 
    std::sort(matrix.begin(), matrix.end(), compareRows());
    
    std::cout << "Processed matrix:" << std::endl;
    printMatrix(matrix);
    
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru