Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Задача на классы Vc++

2.0K
01 июня 2006 года
BroKeR
163 / / 04.05.2006
Добрый вечер!Опять вопрос:Про бочки,нужно создать класс
текст задачи в оригинале
 
Код:
//даны две бочки известного объема. В одной бочке в начальный момент
//времени содержится спирт (96%), в другой – вода.
//Кружкой емкостью 1л переливаем итеративно содержимое из одной бочки
//в другую следующим способом: на каждой итерации
//зачерпнули из первой бочки -> вылили во вторую
//зачерпнули из второй бочки -> вылили в первую.
//Требуется определить номер итерации, на которой концентрация спирта в
//первой бочке станет меньше 50%.

соображения:
 
Код:
class Barell
{
public:
Barell(double m_volume,double m_conc);
private:
double m_volume;
double m_conc;
}

знаю что надо создать два метода,слить,залить(спасибо _north_),и метод доступа:получить спиртность.Помогите пожалуйста,спасибо.
9.4K
02 июня 2006 года
_nоrth_
99 / / 24.04.2006
Код:
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>

#define VOLUME 100

class Barell
{
public:
  Barell(){ m_volume = 0;  m_conc = 0;};
  Barell(double in_volume,double in_conc)
  {
    m_volume = in_volume;
    m_conc = in_conc;
  };
  double pourOff(double in_volume, double &out_conc)
  {
    double d = (m_volume < in_volume) ? m_volume : in_volume;
    m_volume-=d;
    m_conc = m_conc;
    return d;
  };
  double fillUp(double in_volume, double in_conc)
  {
    m_conc = (m_conc*m_volume + in_volume*in_conc)/(m_volume+in_volume);
    m_volume+=in_volume;
    return m_conc;
  }
  double getConc()
  {
    return m_conc;
  };
  double getVolume()
  {
    return m_volume;
  };
private:
  double m_volume;
  double m_conc;
};

int main()
{
  Barell bar1(VOLUME, 96);
  Barell bar2(VOLUME, 0);
  double conc = 96;
  int iter = 0;
  while(conc>=50)
  {
    iter++;
    double volume = bar1.pourOff(1.0, conc);
    conc = bar2.fillUp(volume, conc);
    volume = bar2.pourOff(1.0, conc);
    conc = bar1.fillUp(volume, conc);
    cout << "iter :" << setw(3) << iter << " conc " << bar1.getConc() << endl;
  }
  getch();
  return 0;
}
2.0K
02 июня 2006 года
BroKeR
163 / / 04.05.2006
_north_ Дружище!Благодарности моей нет предела!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог