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

Прямой доступ к переменным - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Расписать комментарии к задаче http://www.cyberforum.ru/cpp-beginners/thread1193198.html
Доброй ночи, дорогие формучане! Помогите мне разобраться с данной задачей. Распишите пожалуйста комментарии напротив строчек! Мне ее завтра сдавать для зачета, а я вообще ничего не понимаю((( Умоляю, выручайте!%-) #include <cstdlib> #include <iostream> #include <string>
C++ Вывести все слова из файла, содержащие в себе слово red Необходимо вывести все слова из файла, содержащие в себе слово red Вот код: #include <iostream> #include "fstream" #include <string.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread1193181.html
C++ Класс как параметр другого класса
Зачем использовать один класс как параметр другого, пример: class A {} class B {private: A Peremennaya;} И в чем разница: class A {} class B
C++ Сортировка Шелла, вставка asm в С++
Добрый вечер. Очень нужна помощь в том, как написать код с ассемблерными вставками. Задача такая: написать код сортировки Шелла на ассемблере и сделать ассемблерную вставку в функцию на C/C++ Я, если честно, совсем не разбираюсь в ассемблере, и не смотря на то что перечитала уже массу статей на тему вставок, все еще не понимаю как их правильно делать. Помогите, пожалуйста #include...
C++ Отсортировать массив по убыванию через алгоритм пирамидальной сортировки http://www.cyberforum.ru/cpp-beginners/thread1193159.html
В общем мне дан вещественный массив, нужно его отсортировать по убыванию через алгоритм пирамидальной сортировки #include <stdio.h> #include <stdlib.h> void siftDown(int *numbers, int root, int bottom) { int done, maxChild, temp; done = 0; while ((root*2 <= bottom) && (!done))
C++ Создать выходной массив строк, содержащий текст, состоящий из записей строго одинаковой длины В литерном массиве строк есть текст, содержащий слова, разделенные пробелами. Предложения текста разделены точками. Длина записей в этом массиве строке произвольная. Создать выходной массив строк, содержащий текст, состоящий из записей строго одинаковой длины - 60 байт. Исключение могут составлять записи, заканчивающиеся точкой - после точки нужно вывести в выходной массив строк признак... подробнее

Показать сообщение отдельно
Psilon
Master of Orion
 Аватар для Psilon
5738 / 4686 / 619
Регистрация: 10.07.2011
Сообщений: 14,160
Записей в блоге: 5
Завершенные тесты: 4
31.05.2014, 03:45     Прямой доступ к переменным
Цитата Сообщение от Arkaniy Посмотреть сообщение
IGPIGP, про пару в мапе знаю, но мне же нужно чтобы ключ был стрингом, а значение перенным типом.
Я тот пост заметил, но попытал счастья в обход буста
А задача, собственно, простая.
Придумал себе структуру фильм. Поля такие как режиссер, год, страна и т.д. Как видно, есть и строковые поля, и чиловые. Нужно достать из массива только те фильмы, которые отвечают параметрам запроса пользователя. К примеру, все фильмы 2000 года.
Вот и получается, что нужно смотреть именно по полю год. Вот это поле и нужно передать в ф-цию. С этим разобрались, да поля-то разных типов и не ясно было как в мап засунуть эти значения.
так навелосипедьте свой аналог шарпового LINQ и будет вам счастье
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
// ConsoleApplication52.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <string>
#include <list>
#include <iostream>
#include <algorithm>
 
using namespace std;
typedef struct
{
    int Year;
    string Name;
} MyStruct;
 
 
list<MyStruct> get_by_param(MyStruct*, int, bool(*)(MyStruct));
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n = 3;
    MyStruct structs[n];
    structs[0].Name = "Hello";
    structs[1].Name = "World";
    structs[2].Name = "Again";
    structs[0].Year = 2012;
    structs[1].Year = 2013;
    structs[2].Year = 2013;
 
    list<MyStruct> by_name = get_by_param(structs, n, [](MyStruct s) { return s.Name == "Hello"; });
    cout << "GOT BY NAME HELLO" << endl;
    for_each(by_name.begin(), by_name.end(), [](MyStruct s) { cout << s.Name << " " << s.Year << endl; });
    cout << endl;
 
    list<MyStruct> by_year = get_by_param(structs, n, [](MyStruct s) { return s.Year == 2013; });
    cout << "GOT BY YEAR 2013" << endl;
    for_each(by_year.begin(), by_year.end(), [](MyStruct s) { cout << s.Name << " " << s.Year << endl; });
 
    return 0;
}
 
list<MyStruct> get_by_param(MyStruct* structs, int n, bool(*predicate)(MyStruct))
{
    list<MyStruct> result;
    for (int i = 0; i < n; i++)
    {
        if (predicate(structs[i]))
            result.push_back(structs[i]);
    }
    return result;
}
Добавлено через 2 минуты 27 секунд
Цитата Сообщение от IGPIGP Посмотреть сообщение
Как раз об этом я и написал. Может в boost: или новых стандартах и есть расширения вроде linq С#, тогда всё совсем иначе можно бы делать.
и снова вы меня опередили
 
Текущее время: 19:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru