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

Задачка "Выбор подходяшего бака" кто знает? - C++

Восстановить пароль Регистрация
 
GoldC
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 5
13.02.2012, 14:03     Задачка "Выбор подходяшего бака" кто знает? #1
Есть два бака, размер определяется высотой и диаметром, нужно выбрать наиболее подходящий бак для указного объема жидкости. Объем бака Pi RxRxH, Pi=3.14159 R - Радиус, H - Высота, юзер вводит высоту бака и их деаметры, а так же объем жидкости в литрах.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 14:03     Задачка "Выбор подходяшего бака" кто знает?
Посмотрите здесь:

кто нибудь делал прогу на С++ "Эмулятор клавиш с промежутком времени между "нажатиями""?! C++
C++ по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно
C++ Что такое "bool " и #include <algorithm>? Кто знает , как они работают ?
C++ Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/".
C++ Структура: Вывести тех студентов, кто сдал оба экзамена либо на "4" либо на "5"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2012, 15:06     Задачка "Выбор подходяшего бака" кто знает? #2
GoldC, всё просто подходит бак у которого объём недолива меньше + в него помещается вся вода. К примеру V1(2) объёмы баков - Vx объём воды, понятное дело что если Vx больше V1 или V2 то нужно выбирать тот бак для которого Vx < Vбака. А если Vx < V1 и Vx < V2 то нужно выбирать бак у которого как говорил выше недолив dV1 = V1 - Vx, dV2 = V2 - Vx меньше. Т.е. сравнить dV1 и dV2 - ИМХО задача для 2-го класса школы...
GoldC
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 5
13.02.2012, 15:19  [ТС]     Задачка "Выбор подходяшего бака" кто знает? #3
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
GoldC, всё просто подходит бак у которого объём недолива меньше + в него помещается вся вода. К примеру V1(2) объёмы баков - Vx объём воды, понятное дело что если Vx больше V1 или V2 то нужно выбирать тот бак для которого Vx < Vбака. А если Vx < V1 и Vx < V2 то нужно выбирать бак у которого как говорил выше недолив dV1 = V1 - Vx, dV2 = V2 - Vx меньше. Т.е. сравнить dV1 и dV2 - ИМХО задача для 2-го класса школы...
Интересует решение данной задачи на С++
я тут вот нацарапал но не знаю правильно или нет... точней с проверкой какая лучше чего то печально(
Код
#include <iostream>
using namespace std;
int main()
{
	double a,b,l,diametr,BbIcoTa,diametr2,BbIcoTa2;
	cout<<"BBedite litry\n";
	cin>>l;
	cout<<"BBedite \n";
	cout<<"1 bochka\n"<<"diametr= ";
	cin>>diametr;
	cout<<"BbIcoTa= ";
	cin>>BbIcoTa;
	cout<<'\n'<<"2 bochka\n";
	cout<<"diametr2 ";
	cin>>diametr2;
	cout<<"BbIcoTa2 ";
	cin>>BbIcoTa2;
	a=3.141559*diametr*diametr*BbIcoTa/4;
	b=3.141559*diametr2*diametr2*BbIcoTa2/4;
	
	if (a==b && a>=l)
	{
		cout<<"IIEPBA9I u BTOPA9I";
	}
	else
	{
	if (a>b && a>=l)
	{
		if (b<a && b>=l)
		{cout<<BTOPA9I;}
		else
		{cout<<IIEPBA9I;}
	}
	else
	{
		if (b>=l)
		{
			if (a<b && a>=l)
			{
				cout<<"IIEPBA9I\n";
			}
			else
			{
			cout<<"BTOPA9I\n";
			
			}
		}
	}
	}
	cout<<" V1= "<<b;	
	cout<<"  V2= "<<a;
	cout<<"  Litry= "<<l;
	return 0;
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2012, 15:23     Задачка "Выбор подходяшего бака" кто знает? #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
#include <iostream>
#include <cmath>
using namespace std;
 
double calcV(double pi, double H, double D)
{
    return pi*(D*D/4)*H;
}
 
int main()
{
    double H, D1, D2, V1, V2, Vx;
    double pi = 2*asin(1.0);
    while(true)
    {
        cout<<"Enter H : ";cin>>H;
        cout<<"Enter D1: ";cin>>D1;
        cout<<"Enter D2: ";cin>>D2;
        cout<<"Enter Vx: ";cin>>Vx;
        Vx = Vx/1000;//Перевдим в м3
        V1 = calcV(pi,D1,H);
        V2 = calcV(pi,D2,H);
        if(Vx < V1 && Vx < V2)
            cout<<"Choose : "<<(D1 < D2 ? "first" : "second")<<" tank\n";
        else
        if(V2 < Vx && Vx < V1)
            cout<<"Choose first tank\n";
        else
        if(V1 < Vx && Vx < V2)
            cout<<"Choose second tank\n";
        else
            cout<<"Both tanks a less than Vx\n";
    }
    return 0;
}
Миниатюры
Задачка "Выбор подходяшего бака" кто знает?  
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2012, 15:26     Задачка "Выбор подходяшего бака" кто знает? #5
PS:Пока цеплял миниатюру код почему то прыгал, сейчас всё ок!
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
13.02.2012, 15:28     Задачка "Выбор подходяшего бака" кто знает? #6
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
GoldC, всё просто подходит бак у которого объём недолива меньше + в него помещается вся вода. К примеру V1(2) объёмы баков - Vx объём воды, понятное дело что если Vx больше V1 или V2 то нужно выбирать тот бак для которого Vx < Vбака. А если Vx < V1 и Vx < V2 то нужно выбирать бак у которого как говорил выше недолив dV1 = V1 - Vx, dV2 = V2 - Vx меньше. Т.е. сравнить dV1 и dV2 - ИМХО задача для 2-го класса школы...
А при чём здесь недолив? Может надо минимизировать больший габарит, чтоб лучше проходил где нибудь? Или площадь поверхности, чтоб был дешевле (меньше металла уйдёт на изготовление)?
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2012, 15:30     Задачка "Выбор подходяшего бака" кто знает? #7
GoldC, почему сразу не сказали что у баков разная высота?
Цитата Сообщение от GoldC Посмотреть сообщение
BbIcoTa,diametr2,BbIcoTa2;
, тогда преобразуйте мой код вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    double H1, H2, D1, D2, V1, V2, Vx;
    double pi = 2*asin(1.0);
    while(true)
    {
        cout<<"Enter H1: ";cin>>H1;
        cout<<"Enter D1: ";cin>>D1;
        cout<<"Enter H2: ";cin>>H2;
        cout<<"Enter D2: ";cin>>D2;
        cout<<"Enter Vx: ";cin>>Vx;
        Vx = Vx/1000;//Ïåðåâäèì Гў Г¬3
        V1 = calcV(pi,D1,H1);
        V2 = calcV(pi,D2,H2);
        if(Vx < V1 && Vx < V2)
- дальше всё без изменений
GoldC
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 5
13.02.2012, 15:30  [ТС]     Задачка "Выбор подходяшего бака" кто знает? #8
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
PS:Пока цеплял миниатюру код почему то прыгал, сейчас всё ок!
cout<<"Enter H : ";cin>>H;
cout<<"Enter D1: ";cin>>D1;
cout<<"Enter D2: ";cin>>D2;
cout<<"Enter Vx: ";cin>>Vx;
немного не понял... тут ты вводишь диаметр на 2бочки... а высоту только на одну и сколько литров?
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2012, 15:33     Задачка "Выбор подходяшего бака" кто знает? #9

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
А при чём здесь недолив? Может надо минимизировать больший габарит, чтоб лучше проходил где нибудь? Или площадь поверхности, чтоб был дешевле (меньше металла уйдёт на изготовление)?
- потому что так требует задание, ИМХО ты его не до конца понял...



Добавлено через 2 минуты
Цитата Сообщение от GoldC Посмотреть сообщение
cout<<"Enter H : ";cin>>H;
cout<<"Enter D1: ";cin>>D1;
cout<<"Enter D2: ";cin>>D2;
cout<<"Enter Vx: ";cin>>Vx;
немного не понял... тут ты вводишь диаметр на 2бочки... а высоту только на одну и сколько литров?
- да уже поправил постом выше, задание надо корректней ставвить, у тебя можно было понять что высота одинакова а диаметры разные

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
int main()
{
* * * * double H1, H2, D1, D2, V1, V2, Vx;
* * * * double pi = 2*asin(1.0);
* * * * while(true)
* * * * {
* * * * * * * * cout<<"Enter H1: ";cin>>H1;
* * * * * * * * cout<<"Enter D1: ";cin>>D1;
* * * * * * * * cout<<"Enter H2: ";cin>>H2;
* * * * * * * * cout<<"Enter D2: ";cin>>D2;
* * * * * * * * cout<<"Enter Vx: ";cin>>Vx;
* * * * * * * * Vx = Vx/1000;//Перевдим в м3
* * * * * * * * V1 = calcV(pi,D1,H1);
* * * * * * * * V2 = calcV(pi,D2,H2);
* * * * * * * * if(Vx < V1 && Vx < V2)
- замени в моём коде соотв строки и считай с разными высотами баков
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2012, 15:42     Задачка "Выбор подходяшего бака" кто знает?
Еще ссылки по теме:

Чтения структуры из файла (описать структуру с именем "ORDER": "счет плательщика"; "счет получателя"; "сумма, переводится банковской операцией") C++
C++ Вставить пробел после каждого символа "." "," "!" или "?", если за этими символами не следует пробел
Структура «Преподаватель» с полями "ФИО", "стаж", "категория", "нагрузка" C++

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

Или воспользуйтесь поиском по форуму:
GoldC
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 5
13.02.2012, 15:42  [ТС]     Задачка "Выбор подходяшего бака" кто знает? #10
Вообще в итоге вот готовая софтинка)
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
#include <iostream>
#include <cmath>
using namespace std;
 
double calcV(double pi, double H, double D)
{
        return pi*(D*D/4)*H;
}
 
int main()
{
        double H1, H2, D1, D2, V1, V2, Vx;
        double pi = 2*asin(1.0);
        while(true)
        {
                cout<<"Enter H1: ";cin>>H1;
                cout<<"Enter D1: ";cin>>D1;
                cout<<"Enter H2: ";cin>>H2;
                cout<<"Enter D2: ";cin>>D2;
                cout<<"Enter Vx: ";cin>>Vx;
                Vx = Vx/1000;//Перевдим в м3
                V1 = calcV(pi,D1,H1);
                V2 = calcV(pi,D2,H2);
                if(Vx < V1 && Vx < V2)
                        cout<<"Choose : "<<(D1 < D2 ? "first" : "second")<<" tank\n";
                else
                if(V2 < Vx && Vx < V1)
                        cout<<"Choose first tank\n";
                else
                if(V1 < Vx && Vx < V2)
                        cout<<"Choose second tank\n";
                else
                        cout<<"Both tanks a less than Vx\n";
        }
        return 0;
}
Спасибо тебе за помощь!
Yandex
Объявления
13.02.2012, 15:42     Задачка "Выбор подходяшего бака" кто знает?
Ответ Создать тему
Опции темы

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