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

Бесконечный цикл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Можно ли данный код сделать короче? http://www.cyberforum.ru/cpp-beginners/thread302615.html
#include<iostream> #include<iomanip> int main() { int r,f,a,b,c,d,x,y; cout<<"Vvedite znachenie r:"; cin>>r; cout<<"Vvedite znachenie f:"; cin>>f; cout<<"Vvedite...
C++ Очередь команд Доброго врмени суток. Проблема собственно в следующем: как можно на с++ сделать очередь команд? Т.е. допустим в консоли вводится что-то вроде "8432.28 + 9.7e3" так вот, после прочтения строки... http://www.cyberforum.ru/cpp-beginners/thread302612.html
C++ Функция, возвращающая сумму двух входных параметров (если первый параметр четный) или их разность
разработайте заданную функцию( 1) и продемонстрируйте работу этой функции, сделав в главной программе несколько вызовов функции с разными данными 1.разработайте функцию типа float, что возвращает...
функция нахождения точки пересечения отрезков (прямых) C++
Не могу понять в чем ошибка (не синтаксическая). Есть функция нахождения точки пересечения отрезков(прямых) //функция находит точку пересечения отрезков(прямых) по векторно-параметрической...
C++ Функция, которая возвращает сумму квадратов параметров http://www.cyberforum.ru/cpp-beginners/thread302595.html
разработайте заданную функцию( 1) с тремя входными параметрами типа float x, a, b, два из которых (a, b) имеют значение по умолчанию, и продемонстрируйте работу этой функции, сделав в главной...
C++ Функция, которая возвращает среднее арифметическое элементов параметра-массива разработайте заданную функцию( 1) и продемонстрируйте работу этой функции, сделав в главной программе несколько вызовов функции с разными данными. Функция должна выводить на экран адресы элементов... подробнее

Показать сообщение отдельно
Тома1993
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 13
23.05.2011, 15:44  [ТС]
Спасибо, этот баг нашла, поменяла, теперь, если один остров, то работает нормально, а вот с двумя и более неправильно( Он не учитывает, что лодка уже заполнена.
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
65
66
67
68
69
70
71
72
73
void Boat::take_away_rabbits (Island &is, int maxCapacity)
{
    
    int capacity = 0;
    int checkCapacity = capacity;
    
    //save rabbits 
            for (int i = 0; i <= (int)((is.Rabbits.size()-1)); i++ )
            {
                checkCapacity = capacity + is.Rabbits[i].get_mass();
                if (checkCapacity <= maxCapacity )
                {
                    boat.push_back(is.Rabbits[i]);
                    
                    vector<Rabbit>::iterator it = is.Rabbits.begin();
                    it += i;
                    is.Rabbits.erase(it);
                    
                    //is.Rabbits.erase( is.Rabbits.begin() + i );
                    capacity = checkCapacity;
                    i--;
                }
                else
                {
                    checkCapacity = capacity;
                }
            }
        cout << endl;
        cout << "First time: " << endl;
        for ( int i = 0; i <= (int)((boat.size()-1)); i++ )
        {
            cout << "Rabbit with mass " << boat[i].get_mass() << " on the boat." << endl;
        }
    
    
    for ( int j = 0; j <= (int)((boat.size()-1)); j++ )
        {
                for ( int l = 0; l <= (int)((is.Rabbits.size()-1)); l++ )
                {
                    if ( (boat[j].get_mass()) < (is.Rabbits[l].get_mass()) )
                    {
                        capacity -= boat[j].get_mass();
                        checkCapacity = capacity + is.Rabbits[l].get_mass();
                        if ( checkCapacity <= maxCapacity )
                            {
                                Rabbit a = boat[j];
                                boat[j] = is.Rabbits[l];
                                capacity = capacity + boat[j].get_mass();
                                is.Rabbits[l] = a;
                            }
                        else
                            {
                                checkCapacity -= is.Rabbits[l].get_mass();  
                            }
                    }
                }
            }
    cout << endl;
    cout << "Next: " << endl;
    cout << "On boat: " << endl;
    cout << endl;
    for ( int z = 0; z <= (int)(boat.size()-1); z++ )
    {
        cout << "Rabbit with mass " << boat[z].get_mass() << " on the boat." << endl;
    }
    cout << endl;
    cout << "On island: " << endl;
    cout << endl;
    for ( int k = 0; k <= (int)(is.Rabbits.size()-1); k++ )
    {
        cout << "Rabbit with mass " << is.Rabbits[k].get_mass() << " on the island" << endl;
    }
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru