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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Spirit370
1 / 1 / 2
Регистрация: 08.08.2013
Сообщений: 86
#1

Получить вектор age, в котором порядок элементов соответствовал бы порядку элементов вектора name - C++

15.07.2014, 11:56. Просмотров 308. Ответов 3
Метки нет (Все метки)

Запишите пять имён в вектор vectro<string> name, затем предложите пользователю указать возраст названных людей
и запишите их в вектор vector<double> age. Затем выведете на печать пять пар
(name[i],age[i]).

Упорядочите имена (sort(name.begin(),name.end()) и выведете на
печать пары(name[i], age[i]).

Сложность заключается в том, чтобы получить вектор
age, в котором порядок следования элементов соответствовал бы порядку следо-
вания элементов вектора name.
--------------------------------------------------------
Я написал прогу, без расстановки возраста по нужным именам! Помогите это запилить!!!
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
#include <iostream>
#include <conio.h>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Rus");
    vector<string> name;
    vector<double> age(4,0);
    name.push_back("Кирилл");
    name.push_back("Илья");
    name.push_back("Паша");
    name.push_back("Артём");
    name.push_back("Саша Грэй");
 
 
    for(int i = 0;i<4;i++)
    {
        cout << name[i] << " >> ";
        cin >> age[i];
        cout << endl;
    }
 
    sort(name.begin(),name.end());
 
    /////Как это запилить!!!//////
 
 
    cout << endl<<endl<<endl;
     for(int i = 0;i<4;++i)
     {
         cout << name[i] << "--" << age[i] << endl;
     }
    
     _getch();
     return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2014, 11:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получить вектор age, в котором порядок элементов соответствовал бы порядку элементов вектора name (C++):

Bз наибольших элементов каждой строки матрицы построить вектор.найти сумму элементов этого вектора - C++
из наибольших элементов каждой строки матрицы А(4\4) построить вектор.найти сумму элементов этого вектора.Вывести матрицу А и сумму...

Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А - C++
Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А на начало, а...

Заданы три вектора a(n), b(m), c(k). Вывести наименование вектора, в котором максимальна сумма четных элементов, стоящих на нечетных местах - C++
Заданы три вектора a(n), b(m), c(k). Вывести наименование вектора, в котором максимальна сумма четных элементов, стоящих на нечетных...

Создать вектор X из положительных элементов вектора A - C++
Если кому не сложно-:help: Создать вектор x={xk} из положительных элементов вектора a={an}.

Дана квадратная матрица A[n,n] b вектор b[n]. Определить сумму положительных элементов вектора c=b*A - C++
Дана целочисленная квадратная матрица A порядка n и вектор b размером n. Определить сумму положительных элементов вектора c=b*A

Ввести два вектора целых чисел и образовать третий вектор с их общих элементов - C++
Ввести два вектора целых чисел и образовать третий вектор с их общих элементов (без повторений наченное выбранных элементов). Смофромавий...

3
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
15.07.2014, 12:03 #2
Цитата Сообщение от Spirit370 Посмотреть сообщение
Помогите это запилить!!!
как вариант хранить кроме имени еще и индекс начальный(тогда зная индекс можно будет вывуести соответствующий возраст), 2оый вариант скопировать вектор, начальный отсортировать, бежать по сортированному, искать имя в начальном и выводить возраст по индексу, по которому хранится имя в начальном векторе
0
Spirit370
1 / 1 / 2
Регистрация: 08.08.2013
Сообщений: 86
15.07.2014, 12:17  [ТС] #3
Если можно, циклик второго варианта )
0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
15.07.2014, 12:25 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
std::vector<std::string> sortednames = name;
sort(sortednames.begin(),sortednames.end());
for(int i = 0;i<5;i++)
{
    int j =0;
    for(;j<5;j++)
    {
        if(name[j] == sortednames[i]) break;
    }
    cout << sortednames[i] << " age = "<<age[j]<<endl;
}
Добавлено через 1 минуту
и цикл
C++
1
2
3
4
5
6
for(int i = 0;i<4;i++)
    {
        cout << name[i] << " >> ";
        cin >> age[i];
        cout << endl;
    }
до 5, а не до 4
и соответственно
C++
1
vector<double> age(4,0);
не 4 и 5 элементов надо
1
15.07.2014, 12:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2014, 12:25
Привет! Вот еще темы с ответами:

Сформировать вектор b, в котором элементы вычисляются как произведение элементов строк исходной матрицы N*M - C++
помогите исправить ошибку программа работает правильно, только она дублирует первый элемент массива В и получаются В=B=A*A*...*A и...

Функция: вернуть вектор, в котором есть все числа из исходного вектора v, кроме заданного x - C++
есть вот такая задача ф-цию filter, которая принимает вектор чисел v и аргумент x. Она возвращает вектор, в котором есть все числа из v,...

Получить вектор сумм элементов нечетных столбцов матрицы - C++
1.В матрице вещественных чисел из 5ти строк и 4х столбцов определить кол-во положительных, отрицательных и нулевых элементов 2.Получить...

Для двумерного массива с M * N чисел получить вектор с минимальных элементов каждого столбца - C++
Для двумерного массива с M * N чисел получить вектор с минимальных элементов каждого столбца и вектор из номеров строк, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru