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

контроллер видеомагнитофона - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана строка, изображающая арифметическое выражение. Найти значение выражения http://www.cyberforum.ru/cpp-beginners/thread37418.html
дана строка, изображающая арифмитическое вырожение вида "<число>+или-<число>+или-<число>+или-.....<число>+или->" где на месте знака операций "+или-" находиться символ"+" или "-" (например "4,2+7,3-2,1-8") вывести значение данного выражения в файл(действительное число) P.S. если вы знаете как ее решать буду очень блогадарен и пожалусто не очень сложный кода то преподователь мя не очень и так...
C++ Выполнить операцию транспонирования прямоугольной матрицы Выполнить операцию транспонирования прямоугольной матрицы A (m, n), m не равно n, не выделяя дополнительный массив для хранения результата. http://www.cyberforum.ru/cpp-beginners/thread37416.html
Выполнить операцию транспонирования прямоугольной матрицы C++
Выполнить операцию транспонирования прямоугольной матрицы A (m, n), m не равно n, не выделяя дополнительный массив для хранения результата.
Удаление символов из файла C++
Как удалить символы из открытого для чтения файла при помощи только функций fgetc и fputc? Может написать кто код для, например, удаления первых пяти символов?
C++ Ввод строки в графическом режиме С++ dos http://www.cyberforum.ru/cpp-beginners/thread37401.html
Приветик,пишу курсач и возникли проблемы с вводом с клавиатуры и выводом строки в графическом режиме.Сin и cout не подходят.Помогите плиз
C++ Вывод строк по сортировке одного поля. Вот код: #include "stdafx.h" #include "dec.h" void abc_view() { char *result, *pch; char tmpline={0}; fin=fopen("asale.dat","rt"); if(fin==NULL) cout<<"ЋиЁЎЄ*! “Є*§***л© д*©« *Ґ **©¤Ґ*."<<"\n";//Сообщение об ошибке, если файл не найден подробнее

Показать сообщение отдельно
LenaSV
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22

контроллер видеомагнитофона - C++

31.05.2009, 10:03. Просмотров 433. Ответов 3
Метки (Все метки)

Пусть имеется магнитофон с записью операций
Требуется определить самую часто воспроизводимую кассету
то есть такую для которой операция воспроизведения производилась наиболее часто
помогите доделать
Код
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class magnitofon
{
        bool play, rec, kasset, stop;   // Процессы: воспроизведение, запись и наличие кассеты
        int rew;                                                // Процесс перемотки (положительное число - вперёд на заданный интервал, 
                                                                        // отрицательное число - назад на заданный интервал, 0 - бездействие)

        vector<string>  ListDat;                // Запоминает все действия
public:
        magnitofon()                                    // Конструктор
        {
                play = false;
                stop = false;                           // По-умолчанию все процессы выключены
                rec = false;
                rew = 0;
                kasset = false;                         // По-умолчванию кассеты нет
        }
 void m_stop()                                   // Метод останавливает все процессы видеомагнитофона
        {
                play = false;
                rec = false;
                rew = 0;
                ListDat.push_back("m_stop");
        }

        void m_play()                                   // Метод включает воспроизведение кассеты
        {
                m_stop();                                       // Может быть активен только один процесс, поэтому вызывается метод "Stop"
                play = true;
                ListDat.push_back("m_play");
        }

        void m_rew(int interval)                // Метод перематывает кассету в заданном направление
        {
                m_stop();
                rew = interval;                         // Перемотка на заданный интервал
                ListDat.push_back("m_rew");
        }

        void m_rec()                                    // Метод начинает запись
        {
                if (play) rec = true;           // Запись возможна только при включённом процессе play
                ListDat.push_back("m_rec");
        }

        void insert()                                   // Метод вставляет кассету
        {
                m_stop();
                kasset = true;
                ListDat.push_back("insert");
        }

        void get()                                              // Метод достаёт кассету      
        {
                m_stop();
                kasset = false;
                ListDat.push_back("get");
        }

        bool check()                                    // Метод проверяет, есть ли кассета
        {
                return kasset;                          // Возвращает true, если кассета есть, в противном случае false.
        }

        void outListDat()
        {
                vector<string>::iterator it;
                for(it = ListDat.begin(); it != ListDat.end(); ++it)
                        cout<<*it<<endl;
        }
};
struct Kassete
{
  Kassete() : InsertCount(0),  id(unique_id++){ }
    int InsertCount;
    int id;;
    static int unique_id;
};
int Kassete::unique_id = 0;

bool cmp_fcn(const Kassete &k1, const Kassete &k2) {
  return k1.InsertCount > k2.InsertCount;
}

int main() {
 magnitofon mag;
        mag.insert();
        mag.m_play();
        mag.m_rec();
        mag.m_rew(1);
        mag.m_stop();
        mag.get();

        mag.outListDat();

  std::partial_sort(kassete, kassete + 1, kassete + 100, cmp_fcn);
  int max_number = kassete[0].InsertCount;
  int id_kassette = kassete[0].id;
int max=0;
for (int i=0; i<100; ++i) проходим весь список касет.
   if (kassete[i].InsertCount > kassete[max].InsertCount) max=i;

std::cout << "Больше всех (а именно "<< kassete[max].InsertCount) "раз) была вставлена кассета с id " << max;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru