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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
#1

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

08.11.2012, 18:35. Просмотров 750. Ответов 1
Метки нет (Все метки)

Помогите пожалуйсто решить задачу

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

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

разбить прямоугольник на квадраты - C++
здравствуйте! есть задание :Задан прямоугольник размером А*В (А и В - натуральные). От прямоугольника каждый раз отрезают квадраты...

Резать прямоугольник, пока от него не останутся только квадраты. Посчитать их количество. (Оптимизировать программу) - C++
Есть прямоугольник A x B. Нужно отрезать от него как можно больший квадрат и отбросить его (ставя счетчик в +1). Оставшийся прямоугольник...

Квадраты - C++
Написать программу на с++ Дан файл действительных чисел, каждая тройка чисел определяет на плоскости квадрат со сторонами, параллельными...

Квадраты - C++
Дана матрица nxn, определить является ли она магическим квадратом, вывести об этом сообщение на экран, т.е. "Magic" если является ей, "Not...

полные квадраты - C++
Получить кол-во полных квадратов среди а1...аn. то есть 4=2x2 и т.д...вроде решил но чет не генерирует после 1 числа...стопорит.. ...

квадраты с условием!!! - C++
Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Вывести квадрат этого числа. Если числа различные то...

Вывести квадраты чисел от a до b - C++
Написать программу, которая выводит квадраты чисел от a до b . Подъем цифр квадрату выполнять в процедуре .

Квадраты целых чисел от 0 до 9 - C++
Программа для вычисления квадраты целых чисел от 0 до 9, помогите переделать программу чтобы в ней была команда do while #include...

квадраты простых чисел - C++
Дана последовательность натуральных чисел, заканчивающаяся нулём. Выдать на экран квадраты простых чисел из этой последовательности,...

Построить квадраты из звездочек и пробелов - C++
Сдаю практику на С++, все хорошо, но вот одна задача никак не решается. Помогите чем можете. Условие задачи. Квадрат состоит из...

Вывести квадраты и кубы 10 чисел - C++
нужно вывести квадраты и кубы 10 чисел следующей последовательности: 1, 2, 4, 7, 11, 16, … (программа си) через #include <stdio.h> ...

Вывести на экран квадраты чисел от 10 до 20 - C++
Cоставте программу,выводящую на экран квадраты чисел от 10 до 20(си++ цикл do whiel)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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();
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru