0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 45
1

Создать новый файл, содержащий данные о шести самых результативных игроках обеих команд

16.04.2019, 16:49. Показов 4504. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать 2 файла, содержащие сведения о игроках хоккейных команд "Динамо" и "Спартак". Структура записей файлов:
- фамилия, имя игрока;
- число заброшенных шайб;
- число сделанных голевых передач.
По данным, извлекаемым из этих файлов, создать новый файл, содержащий данные о шести самых результативных игроках обеих команд.
Помогите, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2019, 16:49
Ответы с готовыми решениями:

Создать новый файл, содержащий данные о шести самых результативных игроков обеих команд
Здраствуйте! Помогите пожалуйста! Создать 2 файла, содержащего сведения об игроках хоккейных...

По заданным данным, получить информацию о трех самых результативных игроках
Хоккейная команда. Структура записей состоит: фамилия, имя игрока, число заброшенных шайб, число...

Во время футбольной игры формируется файл, распечатать фамилии 3 самых результативных игроков команды
Во время футбольной игры формируется файл, который включает фамилию игрока и количество набранных...

Дан файл вещественных чисел, содержащий элементы квадратной матрицы (по строкам). Создать новый файл, содержащий элеме
Дан файл вещественных чисел, содержащий элементы квадратной матрицы (по строкам). Создать новый...

6
0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 45
21.04.2019, 19:29  [ТС] 2
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
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
#define n 10
 
using namespace std;
 
struct hockey
{
    string team, player;
    int washers,transf;
};
 
void main() 
{
    setlocale(0, "");
    ofstream fp1, fp2;
    fp1.open("dinamo.txt");
    fp2.open("spartak.txt");
        
 
    fp1.close();
    fp2.close();
 
}
Из двух файлов программа должна прочитать данные и записать их в структуру, как это сделать я не могу понять. Помогите, пожалуйста
0
6089 / 3447 / 1402
Регистрация: 07.02.2019
Сообщений: 8,760
21.04.2019, 20:42 3
Лучший ответ Сообщение было отмечено artyom_petrov как решение

Решение

artyom_petrov,
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <iterator>
#include <algorithm>
 
using namespace std;
 
struct player
{
    string surname, name;
    int washers, transf;
};
 
istream& operator>>(istream& is, player& p)
{
    return is >> p.surname >> p.name >> p.washers >> p.transf;
}
 
ostream& operator<<(ostream& is, const player& p)
{
    //сами напишите
}
 
int main()
{
    setlocale(0, "");
    ifstream fp1, fp2;
    fp1.open("dinamo.txt");
    fp2.open("spartak.txt");
 
    vector<player> dinamo{ istream_iterator<player>{fp1}, {} };
    vector<player> spartak{ istream_iterator<player>{fp2}, {} };
 
    fp1.close();
    fp2.close();
    //---------------------------------------------
    sort(dinamo.begin(), dinamo.end(), [](const player& lv, const player& rv)
    {
        return (lv.washers + lv.transf) > (rv.washers + rv.transf);
    });
 
    int count = 6;
    for (auto p = dinamo.begin(); p != dinamo.end() && count; ++p, --count)
        cout << *p << endl;
    //------------------------------------------------
    //аналогично для второго вектора
 
}
1
0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 45
21.04.2019, 22:34  [ТС] 4
zayats80888, а что тут надо написать «ostream& operator»? просто мы такого не проходили еще
0
0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 45
22.04.2019, 17:58  [ТС] 5
zayats80888, не подскажете,пожалуйста, как с помощью вашей программы найти 6 самых результативных игроков (по количеству washers) из двух команд и записать их в новый файл?
Вот такое содержание файлов dinamo и spartak:

dinamo.txt
Иванов Гриша 2 10
Петров Миша 1 5
Серпов Дима 0 1
Волков Гоша 3 4
Козлов Юлий 1 2

spartak.txt
Горлов Никита 2 0
Курков Кирилл 0 3
Ситков Павел 4 5
Сегрин Артём 3 1
Винкин Вова 0 4
0
6089 / 3447 / 1402
Регистрация: 07.02.2019
Сообщений: 8,760
22.04.2019, 18:07 6
Лучший ответ Сообщение было отмечено artyom_petrov как решение

Решение

artyom_petrov,
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <iterator>
#include <algorithm>
 
using namespace std;
 
struct player
{
    string surname, name;
    int washers, transf;
};
 
istream& operator>>(istream& is, player& p)
{
    return is >> p.surname >> p.name >> p.washers >> p.transf;
}
 
ostream& operator<<(ostream& os, const player& p)
{
    return os << p.surname << ' ' << p.name << ' ' << p.washers << ' ' << p.transf;
}
 
int main()
{
    setlocale(0, "");
    ifstream fp1, fp2;
    fp1.open("dinamo.txt");
    fp2.open("spartak.txt");
 
    vector<player> players{ istream_iterator<player>{fp1}, {} };
    std::copy(istream_iterator<player>{fp2}, {}, std::back_inserter(players));
 
    fp1.close();
    fp2.close();
    //---------------------------------------------
    sort(players.begin(), players.end(), [](const player& lv, const player& rv)
    {
        return lv.washers > rv.washers;
    });
 
    int count = 6;
    for (auto p = players.begin(); p != players.end() && count; ++p, --count)
        cout << *p << endl;//в файл сами запишите
    //------------------------------------------------
    
 
}
1
0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 45
22.04.2019, 19:19  [ТС] 7
zayats80888, спасибо большое!
0
22.04.2019, 19:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2019, 19:19
Помогаю со студенческими работами здесь

Переписать в разные файлы данные об игроках команд «Спартак» и «Динамо»
В файле хранятся реквизиты хоккеистов, названия клубов, за которые они играют, количество сыгранных...

Переписать в разные файлы данные об игроках команд «Спартак» и «Динамо»
В файле хранятся реквизиты хоккеистов, названия клубов, за которые они играют, количество сыгранных...

Создать класс, содержащий сведения об игроках
Вот сама задача: Создать класс, содержащий сведения об игроках хоккейных команд &quot;Спартак&quot; и...

Создать два файла, содержащих сведения о игроках хоккейных команд «Динамо» и «Спартак»
Создать два файла, содержащих сведения о игроках хоккейных команд «Динамо» и «Спартак». Структура...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru