Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
nicenice
3 / 3 / 2
Регистрация: 22.11.2011
Сообщений: 168
1

Посчитать наименьшую площадь нескольких прямоугольников

23.02.2012, 00:28. Просмотров 1244. Ответов 24
Метки нет (Все метки)

Вводится количество прямоугольников, вводится противоположные точки (x1y1 x3y3), программа считает наименьшую площадь.
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
#include <stdio.h>
#include <math.h>
int main()
{   int *pI, *x1, *y1, *x3, *y3, *S;
    int c=0, N;
    scanf ("%d",&N);
    if (N>=1 && N<=100)
    {
    pI=new int[N];
    x1=new int[N];
    y1=new int[N];
    x3=new int[N];
    y3=new int[N];
    S =new int[N];
    for(int i=0; i<N; i++)
    {
        scanf("%d",&x1[i]);
        scanf("%d",&y1[i]);
        scanf("%d",&x3[i]);
        scanf("%d",&y3[i]);
    }
    for(int i=0;i<N;i++)
        S[i]=abs((x3[i]-x1[i])*(y3[i]-y1[i]));
    for(int i=0;i<N;i++)
        if(pI[i]>c || i==0)
            c=S[i];
    printf ("%d",c);
    delete[]pI;
    delete[]x1;
    delete[]y1;
    delete[]x3;
    delete[]y3;
    delete[]S;
    return 0;
    }
    else return 1;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 00:28
Ответы с готовыми решениями:

Вычислить площади трёх квадратов и сравнить их (найти наименьшую площадь)
Не работает. Подскажите, где я напортачил? #include&lt;stdio.h&gt; #include&lt;math.h&gt; float...

Нахождение всех прямоугольников, площадь которых равна q
Дано натуральное число q. Требется написать программу для нахождения всех прямоугольников, площадь...

Определить площадь сечения (общей части) прямоугольников
Задано N прямоугольников со сторонами, параллельными осям координат (известны координатами верхнего...

Метод прямоугольников - посчитать интеграл по левой, правой и средней точке
Доброго времени суток! Такой вопрос, есть программа по методу прямоугольников: #include &lt;conio.h&gt;...

Найти наименьшую площадь
Найти наименьшую площадь полной поверхности, которую может иметь четырехуголная пирамида описанная...

24
ШКІПЕР
97 / 97 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.02.2012, 00:33 2
nicenice, и что же не так ? Кроме жестокой месте пользователю строкой
C++
1
else return 1;
нечего интересного не увидел
0
nicenice
3 / 3 / 2
Регистрация: 22.11.2011
Сообщений: 168
23.02.2012, 00:36  [ТС] 3
У нас такая система, заливаешь на сайт лабу, тот проверяет её алгоритм, вводит значение, если всё правильно пишет accept, если нет пишет бурду какую-то, мне написал ошибку. вот думаю, что в нём неправильно.
0
ШКІПЕР
97 / 97 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.02.2012, 00:38 4
Понял: http://www.cyberforum.ru/cpp-beginners/thread10807.html

Добавлено через 1 минуту
Цитата Сообщение от nicenice Посмотреть сообщение
У нас такая система, заливаешь на сайт лабу, тот проверяет её алгоритм, вводит значение, если всё правильно пишет accept
Поздно понял... Тогда так не проходит...
0
23.02.2012, 00:38
nicenice
3 / 3 / 2
Регистрация: 22.11.2011
Сообщений: 168
23.02.2012, 00:38  [ТС] 5
Не не,
C
1
getch();
я специально не написал, таково правило, надо без него.
0
A555
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
23.02.2012, 00:39 6
а что она не так делает скажи может тогда пойму и смогу подсказать)
0
nicenice
3 / 3 / 2
Регистрация: 22.11.2011
Сообщений: 168
23.02.2012, 00:41  [ТС] 7
Да всё она делает (только срать не просится )
я сам не знаю что в ней не так. вдруг утечка памяти, там стоит лимит в 64мб
0
A555
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
23.02.2012, 00:41 8
вместо
C++
1
#include<conio.h> и getch();
используй
C++
1
#include<stdio.h> system("pause");
0
ШКІПЕР
97 / 97 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.02.2012, 00:42 9
nicenice, ну смотрите, все известные мне системы требуют, чтобы программа завершалась возвращением нуля, а у Вас бывает 1. В условии указано, что количество именно в таком диапазоне, как у Вас в программе ?
0
nicenice
3 / 3 / 2
Регистрация: 22.11.2011
Сообщений: 168
23.02.2012, 00:42  [ТС] 10
getch(); или system("pause"); нужно лишб пользователю, а "машине" оно не надо. не в этом дело..
0
ШКІПЕР
97 / 97 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.02.2012, 00:43 11
Цитата Сообщение от nicenice Посмотреть сообщение
вдруг утечка памяти, там стоит лимит в 64мб
Издеваетесь ? В программе этой от силы 2 Мб О_о
1
nicenice
3 / 3 / 2
Регистрация: 22.11.2011
Сообщений: 168
23.02.2012, 00:44  [ТС] 12
ШКІПЕР, так точно. а вот насчёт возвращения нуля или единицы может быть, что же после else написать return 0?
0
A555
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
23.02.2012, 00:45 13
ok а скажи массив pI где у тебя заполняется ? ты делаешь с ним проверку нейкую при этом не занеся туда значение
1
nicenice
3 / 3 / 2
Регистрация: 22.11.2011
Сообщений: 168
23.02.2012, 00:45  [ТС] 14
ШКІПЕР, по идеи если будет утечка памяти, этот программа может этот лимит превысить.
0
A555
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
23.02.2012, 00:47 15
я ща проверю на лики а ты ответь на мой вопрос
1
ШКІПЕР
97 / 97 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.02.2012, 00:50 16
Цитата Сообщение от A555 Посмотреть сообщение
ok а скажи массив pI где у тебя заполняется ?
А он адресы сравнивает - какая больше ?


Цитата Сообщение от nicenice Посмотреть сообщение
по идеи если будет утечка памяти, этот программа может этот лимит превысить.
Ну-ну... к успеху шел... Натопчите мне этой прогой 64 Мб
2
nicenice
3 / 3 / 2
Регистрация: 22.11.2011
Сообщений: 168
23.02.2012, 00:51  [ТС] 17
Вот наверное она, ошибочка. Что же я так лоханулся.
вместо if(pI[i]>c || i==0) надо было написать if(S[i]>c || i==0)

хотя хрен его знает, ответ то правильный прога выдавала...
0
A555
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
23.02.2012, 00:53 18
у меня показывает что утечки нет общий объём памяти 64.48 KB

Добавлено через 36 секунд
тести лушч е она не верные результаты даёт
1
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
23.02.2012, 00:53 19
Цитата Сообщение от nicenice Посмотреть сообщение
C++
1
2
3
        for(int i=0;i<N;i++)
                if(pI[i]>c || i==0)
                        c=S[i];
проблема тут. в pI[i] - мусор
Цитата Сообщение от nicenice Посмотреть сообщение
программа считает наименьшую площадь
может нужно так?
C++
1
2
3
4
5
        c = INT_MAX;
....
        for(int i=0;i<N;i++)
                if(S[i]<c || i==0)
                        c=S[i];
1
nicenice
3 / 3 / 2
Регистрация: 22.11.2011
Сообщений: 168
23.02.2012, 00:57  [ТС] 20
retmas, уже понял.
Только я не понимаю зачем нужно INT_MAX, что это такое? и зачем нужно в условии i==0? я это подглядел у одного чувака.
A555, спасибо! такая тупая ошибка, я просто исправлял старый код, который находил наименьший элемент в массиве, поэтому так и вышло.
0
23.02.2012, 00:57
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2012, 00:57

Найти наименьшую площадь треугольников
Дано эн треугольников заданных своими сторонами.Найти минимальную площадь! Почему у меня...

Выдать на экран наименьшую площадь и № треугольника
Даны основания a(i) и высоты h(i) десяти равнобедренных треугольников. Оформив вычисление площади...

Найти наименьшую площадь прямоугольника, образованного случайными точками
пожалуйста помогите решать проблему В плоскостье есть 20 точек. (с помощью RND). Определить ими...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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