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

Режем прямоугольник на квадраты - C++

Восстановить пароль Регистрация
 
Starscream
 Аватар для Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
08.11.2012, 18:35     Режем прямоугольник на квадраты #1
Помогите пожалуйсто решить задачу

Условие : Дан прямоугольник ( длину и ширину вводим с клавиатуры ) от него отрезают квадраты максимального размера пока это возможно , если есть остаток режем его тоже на квадраты максимального размера и тд
Вывести : На какие квадраты и в каком количестве будет разрезан исходный прямоугольник

Заранее спасибо за ответы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2012, 18:35     Режем прямоугольник на квадраты
Посмотрите здесь:

C++ разбить прямоугольник на квадраты
Квадраты C++
C++ квадраты простых чисел
квадраты с условием!!! C++
C++ Квадраты
C++ полные квадраты
C++ точные квадраты
Резать прямоугольник, пока от него не останутся только квадраты. Посчитать их количество. (Оптимизировать программу) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Starscream
 Аватар для Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
09.11.2012, 22:24  [ТС]     Режем прямоугольник на квадраты #2
оказалось не так трудно
вот собственно что получилось
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
74
75
76
#include <std_lib_facilities.h>
 
void main()
{
    setlocale(0, "russian");
    double Width = 0.0 , Heigth = 0.0 , Square = 0.0 , Area = 0.0 ;
    int Counter_One = 0 , Counter_Two = 0;
    //======================================================//
 
    cout << "Введите длину прямоугольника : "; cin >> Width;
    cout << "Введите ширину прямоугольника : "; cin >> Heigth;
    cout << "//=============================================//" << endl;
    Area = Width * Heigth;
    cout << " -> Площадь прямоугольника = " << Area << " квадратных сантиметров" << endl;
    //======================================================//
    Start_Execution:;
    system("pause");
    system("cls");
    //======================================================//
    if(Width > Heigth)
    {
        system("color 0a");
        Square = Heigth * Heigth;
        cout << " -> Длина прямоугольника больше ширины" << endl;
        cout << " -> Будем от площади "<< Area << " отрезать по" << " " << Square << " квадратных сантиметров" << endl;
        Counter_One ++;
        cout << " -> Отрезали " << Counter_One << "й квадрат " << endl;
        Area = Area - Square;
        cout << " -> Осталось " << Area << " квадратных сантиметров" << endl << endl << endl;
        if(Area >= Square)
        {goto Start_Execution;}
        if(Square > Area)
        {
            Width = Area / Heigth;
            cout << "Теперь длина прямоугольника = " << setprecision(10) << Width << endl;
            cout << "       ширина прямоугольника = " << setprecision(10) << Heigth << endl;
            if(Width == 0)
            {
                cout << "Прямоугольник был полностью разрезан!";
                _getch();
                exit(0);
            }
            Counter_Two = 0;
            goto Start_Execution;}
    }
    else
    {
        system("color 0c");
        Square = Width * Width;
        cout << " -> Ширина прямоугольника больше длины" << endl;
        cout << " -> Будем от площади "<< Area << " отрезать по" << " " << Square << " квадратных сантиметров" << endl;
        Counter_Two ++;
        cout << " -> Отрезали " << Counter_Two << "й квадрат " << endl;
        Area = Area - Square;
        cout << " -> Осталось " << Area << " квадратных сантиметров" << endl << endl << endl;
        if(Area >= Square)
        {goto Start_Execution;}
        if(Square > Area)
        {
            Heigth = Area / Width;
            cout << "Теперь ширина прямоугольника = " << setprecision(10) << Heigth << endl;
            cout << "       длина прямоугольника = " << setprecision(10) << Width << endl;
            if(Heigth == 0)
            {
                cout << "Прямоугольник был полностью разрезан!";
                _getch();
                exit(0);
            }
            Counter_One = 0;
            goto Start_Execution;
        }
    }
 
 
    _getch();
}
Yandex
Объявления
09.11.2012, 22:24     Режем прямоугольник на квадраты
Ответ Создать тему
Опции темы

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