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

Метод, возвращающий данные по имеющемуся ключу массива MAP - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что такое порядок инициализации таблицы виртуальных методов? http://www.cyberforum.ru/cpp-beginners/thread804302.html
Что-то я не переварил это.
C++ Работа со строками (удаление из строки указанного символа) Недавно начал изучать С++ в универе. Задали написать программу реализующую удаление из строки указанного символа. Программа компилируется, но правильно работать отказывается. Где я накосячил? #include <iostream> #include <string.h> using namespace std; // объект - стока символов // реализовать: удаление из стоки определенного символа http://www.cyberforum.ru/cpp-beginners/thread804268.html
File Ripper C++
Всем привет. Заинтересовала тема для поиска файлов внутри файла. В данном случае интересует поиск только MPEG Layer 3 (т.е. mp3). Как его искать - без понятия. Нужна программа типа HyperRipper или MultiExtractor. P.S. Как я понял, mp3 нужно искать по фреймам, но как правильно - хз.. Выручайте :(
C++ Работа с бинарными файлами (программка дважды записывает последнее число)
Добрый день, помогите пожалуйста с такой ситуацией: написал програмку для заполнения бинарного файла рандомными числами (их количество вводится в начале программы): #include <iostream> #include <fstream> #include <time.h> using namespace std; void random(int N){ ofstream file("resource.bin", ios::binary|ios::out); srand(time(NULL));
C++ Цикл с предусловием http://www.cyberforum.ru/cpp-beginners/thread804259.html
#include <iostream> int main() { int s = 0; for (int i = 0; i <= 8; i++) { for (int j = 0; j <= 6; j++) { for (int k = 0; k <= 4; k++) { if (3 * i + 4 * j + 6 * k == 24) { std::cout << "3: " << i << " 4: " << j << " 6: " << k << std::endl; s++;
C++ Списки. Стеки. Очереди Квадрат разбит на {4}^{k} равновеликих квадратных клеток. Квадрат перегибается поочередно относительно вертикальной (правая половина подкладывается под левую) и горизонтальной (нижняя половина подкладывается под верхнюю) оси симметрии до тех пор, пока все клетки не будут расположены друг под другом. Требуется занумеровать клетки исходного квадрата таким образом, чтобы в результате выполнения... подробнее

Показать сообщение отдельно
alexiuscrow
 Аватар для alexiuscrow
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 52
10.03.2013, 01:35  [ТС]     Метод, возвращающий данные по имеющемуся ключу массива MAP
Цитата Сообщение от Avazart Посмотреть сообщение
А что тут подразумевалось сделать ?
Подразумевалось вернуть значение из Map-массива по ключу.
Цитата Сообщение от Avazart Посмотреть сообщение
Ясно только что в классе не объявленно никакого it и никакого second
it - указатель на ключ (итератор).
second используется для обращения к данным.

То есть...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
 int a=3;                                             //целочисленная а
map <int,AnsiString> mass;
map <int,AnsiString>::iterator it;                    //указатель
mass[1]="one";                                           //под ключом 1 - one
mass[2]="two";                                           //под ключом 2 - two
mass[3]="three";                                         //под ключом 3 - three
mass[4]="four";                                           //под ключом 4 - four
mass[5]="five";                                           //под ключом 5 - five
it=mass.begin();                                          //указатель на первый элемент (1 - one)
for (int num=0;num<type_recipe-1;num++){     //передвигаемся на  позицию "а" (в данном случае 3)
      it++;
}
return -> (*it).second;                                 //возвращает значение "three"
вот пример, который я писал без классов в консольном приложении:
Кликните здесь для просмотра всего текста

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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
#include <map.h>
#include <iostream>
#include <string>
using namespace std;
string func(){
        int type_recipe(0);
        cout<<"Enter nember of Map:"<<endl;
        cin>>type_recipe;
        map <int,std::string> decoding_type_recipe;
        map <int,std::string>::iterator it;;
        decoding_type_recipe[1]="Snacks";
        decoding_type_recipe[2]="Salads";
        decoding_type_recipe[3]="Entrees";
        decoding_type_recipe[4]="Main dishes";
        decoding_type_recipe[5]="Desserts";
        it=decoding_type_recipe.begin();
        for (int num=0;num<type_recipe-1;num++){
                it++;
        }
        return (*it).second;
}
void main(){
        cout<<func()<<endl;
        system("pause");
}

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