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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с классами(длинная арифметика)! http://www.cyberforum.ru/cpp-beginners/thread1212304.html
можете кто-нибудь посмотреть правильно ли я делаю!!! class LongLong { private: char * longNumber; int _size; public: LongLong(const char *number = NULL); LongLong(unsigned int);
C++ проверьте программу на наличие ошибок скачал курсовую работу) проверьте пожалуйста, верно ли все сделано или где-то чего-то не хватает? #include <iostream> #include <iomanip> #include <ctime> #include <conio.h> using namespace std; template<class T> class list //шаблон класса список { struct node //структура узел связанного списка http://www.cyberforum.ru/cpp-beginners/thread1212286.html
C++ 8. Описать структуры для декартовых (x, y) и полярных (r, pi) координат
8. Описать структуры для декартовых (x, y) и полярных (r, pi) координат. Определить функцию для перевода из полярных в декартовы координаты. с коментариями
C++ Вывести в файл все простые номера счастливых билетов
Вывести в файл все простые номера счастливых билетов.
C++ Вывести все простые числа, в которых нет двух подряд идущих одинаковых цифр http://www.cyberforum.ru/cpp-beginners/thread1212235.html
В файле есть числа, вывести на экран все простые числа, в которых нет двух подряд идущих одинаковых цифр.
C++ Описать структуру с именем TRAIN, содержащую поля Описать структуру с именем TRAIN, содержащую поля:  название пункта назначения;  номер поезда;  время отправления. Написать программу, выполняющую следующие действия:  ввод с клавиатуры данных в массив, состоящий из 9 структур типа TRAIN;  вывод на экран информации о пункте назначения, в который отправляется поезд, номер которого введен с клавиатуры;  если таких поездов нет, вывести... подробнее

Показать сообщение отдельно
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 82
19.06.2014, 17:48     Учебный план подготовки специалистов
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
 
Текущее время: 21:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru