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

Учебный план подготовки специалистов - C++

Восстановить пароль Регистрация
 
myjokes
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
19.06.2014, 15:46     Учебный план подготовки специалистов #1
Учебный план подготовки специалистов содержит сведения об названия дисциплин и
количество учебных часов по каждой. Выбрать из учебного плана любой блок
дисциплин, состоящий не менее чем из 5 дисциплинам с суммарным объемом 756 часов
или больше (если такой блок). Учебный план подать массивом структур.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2014, 15:46     Учебный план подготовки специалистов
Посмотрите здесь:

Учебный проект C++
C++ вопрос из С++ для специалистов
C++ C++ Учебный курс 2-е издание (Паоло Франка)
C++ Нужна консультация специалистов
Выбор учебника для подготовки к олимпиаде АЦМ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 82
19.06.2014, 17:01     Учебный план подготовки специалистов #2
Так блок состоит из дисциплин, которые последовательно записаны в массиве?

И откуда дисциплины брать? Из входного файлика, или их будут вводить через клавиатуру?
И сразу уточни, вывод куда делать, в консольное окно или в файл.
myjokes
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
19.06.2014, 17:08  [ТС]     Учебный план подготовки специалистов #3
Брать из файла и вывод на экран
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 82
19.06.2014, 17:48     Учебный план подготовки специалистов #4
1. Начинаем считывать дисциплины, т.к. нам не важно какой длины должен блок, или другие подробности, начинаем его сразу с начала собирать, с самой первой дисциплины.
2. Складываем кол-во часов и кол-во самих дисциплин.
3. Проверяем, если мы набрали минимум 5 дисциплин и >=756 часов, если да, то перестаём считывать дисциплины, т.к. поставленную цель мы уже выполнили.
4. Выводим блок в файл.


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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
 
using namespace std;
 
struct Subject
{
    string name;
    int hours;
};
 
int main(void)
{
    ifstream file_in("file_in.txt");
    ofstream file_out("file_out.txt");
 
    vector<Subject> subjects;
 
    int k = 0;
    int hours_sum = 0;
 
    while (!file_in.eof())
    {
        string buff_name;
        int buff_hours = 0;
 
 
        getline(file_in, buff_name, ' ');
        file_in >> buff_hours;
 
        Subject buff_subject;
        buff_subject.name = buff_name;
        buff_subject.hours = buff_hours;
 
        k++;
        hours_sum += buff_hours;
 
        subjects.push_back(buff_subject);
 
        if (k >= 5 && hours_sum >= 756)
        {
            break;
        }
    }
 
    if (k < 5)
    {
        file_out << " Общее кол-во дисциплен меньше 5-ти, невозможно составить блок.";
    }
    else{
        file_out << " Блок состоит из следующих дисциплин: " << endl;
        for (int i = 0; i < subjects.size(); i++)
        {
            file_out << subjects[i].name << " " << subjects[i].hours;
        }
    }
 
    system("PAUSE");
    file_in.close();
    file_out.close();
    return 0;
}
Проверял со следующими исходными данными:
subject1 23
subject2 24
subject3 61
subject4 73
subject5 93
subject6 13
subject7 53
subject8 83
subject9 83
subject10 13
subject11 43
subject12 83
subject13 93
subject14 13
subject15 23
subject16 53
subject17 73
subject18 83
subject19 13
subject20 43
subject21 83
subject22 23
subject23 53
subject24 63
Yandex
Объявления
19.06.2014, 17:48     Учебный план подготовки специалистов
Ответ Создать тему
Опции темы

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