name
не является членом std::vector<man,std::allocator<_Ty>>
. Вроде решения находил, но в моем случае не спасло.
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
struct man
{
int score;
string name;
};
bool scoredd(man a, man b)
{
return a.score > b.score;
}
int main()
{
string guyy;
int n, f = 0;
cin >> n;
vector <man> person(n);
getline(cin, guyy);
for (int i = 0; i < n; i++)
{
man struct_temp;
int d = 0, j = 0, k = 0;
string guy;
getline(cin, guy);
for (auto c : guy)
d++;
while (j < d)
{
if ((guy[j] >= '0') && (guy[j] <= '9'))
k = k + (int)guy[j];
j++;
}
struct_temp.name = guy;
struct_temp.score = k;
person[i] = struct_temp;
}
stable_sort(person.begin(), person.end(), scoredd);
for (auto c : person)
cout << person.name << endl;
system("pause");
return 0;
}
for (auto c : person)
cout << с.name << endl;
Давайте более логичные имена. person
в вашем случае не один человек (каковым является в данной ситуации c
), а целая толпа... Это, наверное, вас и подвело - вы решили, что имеете дело с конкретным объектом.
А вообще-то, компилятор все правильно и весьма понятно рассказал: что члена name
у вектора нет.
Однако в вашем коде много лишнего, кроме ошибки, на которой указал пользователь Harry
. Его можно улучшить например так:
multimap< int, string, std::greater<int> > person; // сортирует по компаратору больше
string guy;
while (getline(cin, guy))
{
int k = 0;
for (char c : guy) {
if (isdigit(c))
k += (int)c;
}
person.insert(make_pair(k, guy));
}
cout << endl << endl;
for (auto p : person)
cout << p.second << endl;
Код короче, понятнее, меньше затрат на память, и конечно, быстрее.
Есть несколько функций, которые принимают в качестве параметра массив целых чисел
Я начинающий автоматизатор, и мне очень понравился фреймворк cucumber, и хочется самому поставить его у себя дома на ПКМогу писать сценарии и степы...
мне нужно сделать что-то типа TreeView, суть в том, что-бы когда пользователь выбирает некий класс менялась основная панель, реализовать всё нужно...