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

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

Войти
Регистрация
Восстановить пароль
 
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
#1

Площади прямоугольников - C++

04.03.2010, 21:52. Просмотров 581. Ответов 3
Метки нет (Все метки)

Здраствуйте!я начинающий на с/с++
написал программу которая вычисляет площадь пересечения прямоугольников,вылазит ошибка
Помогите пожалуйста исправить
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
#include <stdio.h>
#include <math.h>
void main()
{printf("ââåäèòå êîëè÷åñòâî ïðÿìîóãîëüГ*èêîâ ,Г*ГҐ ìååå äâóõ");
 int a,b,c,d,a1,b1,c1,d1,n;  
 do {
     scanf("%f",&n);
     }while (n<=1);
 printf("ГЈГ*ГЎГ*ðèòû ïåðâîãî ïðÿìîóãîëüГ*ГЁГЄГ* (a<b),(c<d)");    
 do {
     scanf("%f%f%f%f",&a,&b,&c,&d);
     }while ((a>=b)&&(c>=d));
 for(int i=1;i<=n-1;i++){
         printf("ââåäèòå ñëåäóþùèé ïðÿìîóãîëüГ*ГЁГЄ");
         scanf("%f%f%f%f",&a1,&b1,&c1,&d1);
         if ((b<=a1) || (d<=c1) || (b1<a) || (d1<c))
         printf("ïðÿìîóãîëüГ*ГЁГЄГЁ Г*ГҐ ïåðåñåêГ*ГѕГІГ±Гї");
         else{
              if (a<a1) 
                  a=a1;
              if (b>b1) 
                  b=b1;
              if (c<c1) 
                  c=c1;
              if (d>d1) 
                  d=d1;
              s=(b-a)*(d-c);    
              scanf("ïëîùГ*äü ïåðåñå÷åГ*ГЁГї =%f",s); 
              }    
                         }
return;                         
}

если нужно вот аналог программы на паскале
Pascal
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
  uses crt;
var
   i,n,a,b,c,d,a1,b1,c1,d1,s:integer;
begin
  clrscr;
 
   writeln('введите количество прямоугольников (не меее двух)');
 repeat
   readln(n);
 until n>1;
   writeln('введите габариты первого прямоугольника (a<b),(c<d)');
 repeat
   readln(a,b,c,d)
 until (a<b) and (c<d);
 
 for i:=1 to n-1 do
 begin
  writeln('введите следующий прямоугольник');
  readln(a1,b1,c1,d1);
  if (b<=a1) or (d<=c1) or (b1<a) or (d1<c) then
    writeln('прямоугольники не пересекаются')
  else
  begin
   if a<a1 then
     a:=a1;
   if b>b1 then
     b:=b1;
   if c<c1 then
     c:=c1;
   if d>d1 then
     d:=d1;
   s:=(b-a)*(d-c);
   writeln('площадь пересечения равна ',s);
  end;
 end;
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2010, 21:52     Площади прямоугольников
Посмотрите здесь:

Найти периметры и площади прямоугольников - C++
1. S1=SSS(a1, b1); S2=SSS(a2, b2); S3=SSS(a3, b3); -------------------------------- int SSS(int a, int b) { return (a*b);...

Простая программа про площади прямоугольников - C++
Требуется написать программу. Условия: 1. Исходное данное - натуральное число K, выражающее площадь. Написать программу для...

Найти периметры и площади трех прямоугольников - C++
1. Даны стороны трех прямоугольников. Найти периметры и площади этих прямоугольников. Использовать процедуру, вычисляющую по сторонам a,...

Нахождение общей площади, образованной объединением прямоугольников - C++
Я встал в ступор. И заранее извиняюсь, что не послал тему в алгоритмы, потому что я ее не нашел. Я правда не понимаю как решить данную...

Составить блок-схему и программу определения площади прямоугольников - C++
1.Составить блок-схему и программу определения площади прямоугольников высотой 4 см с основанием, меняющимся от 3 до 6 см с шагом 2 мм.

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rrrFer
Заблокирован
04.03.2010, 22:02     Площади прямоугольников #2
Gabberr,
переменная "s" не обьявлена.
те переменные что обьявлены должны быть типа float наверно.
в конце надо scanf заменить на printf.
логику непроверял,ошибки исправил:
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
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main(){
    printf("введите количество прямоугольников ,не меее двух\n");
    float a,b,c,d,a1,b1,c1,d1,n,s;  
    do {
        scanf("%f",&n);
    }while (n<=1);
    printf("габариты первого прямоугольника (a<b),(c<d)\n");    
    do
        scanf("%f%f%f%f",&a,&b,&c,&d);
    while ((a>=b)&&(c>=d));
    for(int i=1;i<=n-1;i++){
        printf("введите следующий прямоугольник\n");
        scanf("%f%f%f%f",&a1,&b1,&c1,&d1);
        if ((b<=a1) || (d<=c1) || (b1<a) || (d1<c))
            printf("прямоугольники не пересекаются\n");
        else{
            if (a<a1) 
                a=a1;
            if (b>b1) 
                b=b1;
            if (c<c1) 
                c=c1;
            if (d>d1) 
                d=d1;
            s=(b-a)*(d-c);    
            printf("площадь пересечения =%f\n",s); 
        }    
    }
    getch();
    return;                         
}
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
04.03.2010, 22:06  [ТС]     Площади прямоугольников #3
Спасибо вам!
Не могли бы ещё объяснить,что за библиотека conio.h?
а так же что означает getch(); ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2010, 22:30     Площади прямоугольников
Еще ссылки по теме:

Размещение прямоугольников - C++
Разместить в большом прямоугольнике, с заданными длиной и шириной, набор прямоугольников, с также заданными длиной и шириной. Разрешается...

Поиск прямоугольников. - C++
Есть такая задача: дан массив 100х100 состоящий из нулей и единиц. Из единиц построены прямоугольники, так, что они не могут совпадать и...

вложенность прямоугольников - C++
bool Intersects(Rect Obj1, Rect Obj2) { int x1 = Obj1.ItsLeftUpperGetX(); int y1 = Obj1.ItsLeftUpperGetY(); int x2 =...

Пересечение прямоугольников - C++
В прямоугольной системе координат (оси расположены слева направо и сверху вниз) заданы два прямоугольника (стороны параллельны осям). Найти...


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

Или воспользуйтесь поиском по форуму:
Norby
65 / 65 / 2
Регистрация: 12.03.2008
Сообщений: 392
04.03.2010, 22:30     Площади прямоугольников #4
Цитата Сообщение от Gabberr Посмотреть сообщение
Спасибо вам!
Не могли бы ещё объяснить,что за библиотека conio.h?
а так же что означает getch(); ?
conio.h (console input/output) библиотека для консольного ввода/вывода. getch() написанная без параметров ждет нажатия Enter. Обычно вставляется в конце программы, чтобы окно с результатами не закрылось сразу.
Yandex
Объявления
04.03.2010, 22:30     Площади прямоугольников
Ответ Создать тему
Опции темы

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