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

Индексация вектора структур - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Наименьший член заданной последовательности заменить целой частью среднего арифметического всех членов http://www.cyberforum.ru/cpp-beginners/thread1829046.html
Даны целые числа a1, a2, ... an. Наименьший член последовательности a1, a2, ... an заменить целой частью среднего арифметического всех членов, остальные члены оставить без изменения. Если в последовательности несколько членов со значением min(a1, a2, ... an), то заменить последний по порядку.
C++ Определить функцию, возвращающую количество членов последовательности, больших предыдущего числа Определить функцию p(n,m), n - натуральное число, в теле которой вводятся вещественные числа x1, x2, ... xn и значением выходного параметра m является количество членов последовательности, больших предыдущего числа. http://www.cyberforum.ru/cpp-beginners/thread1829041.html
Считывание кириллицы C++
Подскажите, пожалуйста, как считывать кириллицу из массива символов, чтобы функция ниже заработала (если заменить символы на кириллицу) void answer() { int i = 0, j = 0, z = 0, count = 3, n = 0; char k = 0, word = "anchor", answer, mas = { { 'a','n','c','h','o','r', }, { '*','*','*','*','*','*', }, { '*','*','*','*','*','*', }, {...
C++ Создание массива для нескольких вариантов ответа
Пишу игру "Поле чудес". Функция представленная ниже должна отвечать на вопрос. В игре 10 вопросов и соответственно 10 разных ответов, и соответственно должно быть 10 разных массивов. Создавать 10 разных функций не хочу, но другого выхода из положения не вижу:wall:. Пожалуйста, подскажите путь поизящнее, спасибо. void answer() { int i = 0, j = 0, z = 0, count = 3, n = 0; char k = 0,...
C++ Вывод комментария соответствующего возрасту http://www.cyberforum.ru/cpp-beginners/thread1828998.html
Вывести целое число,означающее возраст. При анализе этого числа должны выводиться следующие сообщения: -Если оно меньше 20- "Вы слишком молоды!"; -Если оно равно 30, 40,50, 60- "Поздравляем с повышением!"; -Если оно равно 65-"Преподносим вам золотые часы!"; -Если оно больше 65-"Вы слишком стары!". Во всех остальных случаях выводится сообщение: "Продолжайте науапоивать опыть!" P.S.Напишите...
C++ Визуализация быстрой сортировки Ребят,может кто помочь с визуальной сортировкой массива.. Нужна быстрая сортировка,но буду рад любому примеру даже на пузырьковой... Нашел что-то похожее,но на С# http://www.cyberforum.ru/csharp-beginners/thread874724.html подробнее

Показать сообщение отдельно
JohnnyDow
0 / 0 / 0
Регистрация: 24.10.2015
Сообщений: 6
18.10.2016, 17:12     Индексация вектора структур
Здравствуйте! Возник следующий вопрос:

Почему при попытке создания массива индексов (indexArray) не выходит сохранить в него начальный индекс из вектора записей (defaultRecords) и провести дальнейший вывод ?

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
struct fileFields {
 
    int ID;
    int zipCode;
    string publicationTitle;
    string initials;
    int price;
 
};
 
vector<fileFields> records; //вектор неотсортированных записей из таблицы
 
vector<int> indexArray[records.size]; //массив индексов (изначальных из defaultRecords) отсортированных записей
 
/* процесс считывания записей из файла */
 
vector<fileFields> defaultRecords = records; //неотсортированный вектор записей таблицы
 
/* процесс сортировки */    
 
vector<fileFields> sortedRecords = records; //отсортированный вектор записей
 
//Индексация
 
    for (int i = 0; i < sortedRecords.size(); i++) {
        
        for (int j = 0; j < defaultRecords.size(); j++) {
 
            if (sortedRecords[i].ID == defaultRecords[j].ID) {
                
                indexArray.push_back(j);
                
            }
        }
    }
    
    
    for (int i = 0; i < indexArray.size(); i++) {
 
        cout << defaultRecords[indexArray[i]].ID << " " << defaultRecords[indexArray[i]].zipCode << " " << defaultRecords[indexArray[i]].publicationTitle << " " << defaultRecords[indexArray[i]].initials << " " << defaultRecords[indexArray[i]].price << endl;
 
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru