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

Написать программу, хранящую геометрические примитивы: треугольник, прямоугольник и круг - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Среди N треугольников с известными сторонами выделить прямоугольные http://www.cyberforum.ru/cpp-beginners/thread897210.html
Помогите в решении данной задачи, к экзамену не успеваю( 1. Среди N треугольников с известными сторонами выделить прямоугольные, среди них определить треугольник с наибольшей высотой, опущенной на гипотенузу.
C++ Перевести c Pascal в C++ Помогите перевести в Си++ uses crt; var st:string; k,i:integer;f:boolean; begin clrscr; write('-> '); readln(st); http://www.cyberforum.ru/cpp-beginners/thread897205.html
Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот C++
Помогите пожалуйста исправить программу Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот. Переворачивает всю строку, а нужно каждое слово в строке #include "stdafx.h" #include <string.h> #include <stdlib.h> #include <iomanip> #include <iostream>
C++ Реализовать с использованием массива двунаправленное кольцо (программа работает не правильно)
Подскажите. что не так в программе? работает не совсем правильно 1) Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому). 2) Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево). 3) Добавить в кольцо первый и 3 последних элемента. 4) Распечатать полученный массив, начиная с...
C++ Определенный интеграл http://www.cyberforum.ru/cpp-beginners/thread897179.html
Необходимо численным методом найти приближенное значение определенного интеграла(скинул задание с методички на всякий). Вот прога: #include<stdio.h> #include<conio.h> #include<math.h> void main() { float a=0.3853,b=2.0, w = 0.1; float m,k,h,Inj; int nj=2,j; while(b<=3.0)
C++ Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа н Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа налево одинаково. подробнее

Показать сообщение отдельно
Rustam2013
Сообщений: n/a
10.06.2013, 11:39     Написать программу, хранящую геометрические примитивы: треугольник, прямоугольник и круг
Делал программу на Паскале. Попросили сделать еще на С++.

Написать программу, хранящую геометрические примитивы: треугольник, прямоугольник и круг.
Эти объекты задаются через консоль, например, треугольник можно задать по координатам 3-х точек, прямогульник по 4-м, а круг по координате центра и радиусу. По окончанию ввода геометрических объектов в текстовый файл выводятся: тип геометрического объекта, его параметры и площадь.

В прикрепленном файле- код написанный в паскале.

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
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Math;
 
const
resultRectangle:string='Priamoygolnik';
resultTriangle:string='Treugolnik';
resultCircle:string='Krug';
p:Double=3.14;
 
var
triangleArea, rectangleArea, circleArea:Double;
i,x1,y1,x2,y2,x3,y3,x4,y4,r:Integer;
text:string;
 
 
procedure writeTxt(text:string);
 var
   f: Textfile;
 begin
   AssignFile(f, 'ek.txt');
   ReWrite(f);
   Writeln(f, text);
   Closefile(f);
 end;
 
 
function considingTriangleArea(x1,y1,x2,y2,x3,y3:Integer):Double;
  var
    totalMatrix,matrixX1,matrixX2,matrixY1,matrixY2:Integer;
  begin
    matrixX1:=x1-x3;
    matrixX2:=x2-x3;
    matrixY1:=y1-y3;
    matrixY2:=y2-y3;
    totalMatrix:=(matrixX1*matrixY2)-(matrixY1*matrixX2);
    triangleArea:=abs(totalMatrix)/2;
    Result:=triangleArea;
  end;
 
function considingRectangleArea(x1,y1,x2,y2,x3,y3,x4,y4:Integer):Double;
  var
   ab,ad:Double;
  begin
   ab:=sqrt(sqr(x2-x1)+sqr(y2-y1));
   ad:=sqrt(sqr(x4-x1)+sqr(y4-y1));
   rectangleArea:=abs(ab)*abs(ad);
   Result:=RectangleArea;
  end;
 
function considingCircleArea(r:Integer):Double;
  begin
   circleArea:= p*sqr(r);
   Result:= circleArea;
  end;
 
function doValidTriangleText(triangleArea:Double;x1,y1,x2,y2,x3,y3:Integer):string;
  var
    validTriangleText:string;
  begin
    validTriangleText:='Figura: '+resultTriangle+'. Koordinati: A('+IntToStr(x1)+','+IntToStr(y1)+'), B('+IntToStr(x2)+','+IntToStr(y2)+'), C('+IntToStr(x3)+','+IntToStr(y3)+'). Ploshad = '+FloatToStr(triangleArea)+' .';
    Result:=validTriangleText;
  end;
 
function doValidRectangleText(rectangleArea:Double;x1,y1,x2,y2,x3,y3,x4,y4:Integer):string;
  var
    validRectangleText:string;
  begin
    validRectangleText:='Figura: '+resultRectangle+'. Koordinati: A('+IntToStr(x1)+','+IntToStr(y1)+'), B('+IntToStr(x2)+','+IntToStr(y2)+'), C('+IntToStr(x3)+','+IntToStr(y3)+'), D('+IntToStr(x4)+','+IntToStr(y4)+'). Ploshad = '+FloatToStr(rectangleArea)+' .';
    Result:=validRectangleText;
  end;
 
function doValidCircleText(circleArea:Double;r,x1,y1:Integer):string;
  var
    validCircleText:string;
begin
  validCircleText:= 'Figura: '+resultCircle+'. Koordinati: A('+IntToStr(x1)+','+IntToStr(y1)+'). Radius = '+IntToStr(r)+'. Ploshad = '+FloatToStr(circleArea)+' .';
  Result:=validCircleText;
end;
 
procedure selectForm(i:Integer);
  begin
  if((i=2) or (i=3) or (i=4)) then
    begin
      if(i=2) then
        begin
           Writeln('Vvedite radius:');
           read(r);
           Writeln('Vvedite koordinati A');
           read(x1);
           read(y1);
           circleArea:=considingCircleArea(r);
           WriteLn(Format('Ploshad = %g',[circleArea]));
           text:=doValidCircleText(circleArea,r,x1,y1);
           writeTxt(text);
           Writeln('File done!');
        end;
      if(i=3) then
        begin
            Writeln('Vvedite koordinati A:');
            read(x1);
            read(y1);
            Writeln('Vvedite koordinati B:');
            read(x2);
            read(y2);
            Writeln('Vvedite koordinati C:');
            read(x3);
            read(y3);
            triangleArea:=considingTriangleArea(x1,y1,x2,y2,x3,y3);
            WriteLn(Format('Ploshad = %g',[triangleArea]));
            text:=doValidTriangleText(triangleArea,x1,y1,x2,y2,x3,y3);
            writeTxt(text);
            Writeln('File done!');
        end;
      if(i=4) then
        begin
          Writeln('Vvedite koordinati A:');
          read(x1);
          read(y1);
          Writeln('Vvedite koordinati B:');
          read(x2);
          read(y2);
          Writeln('Vvedite koordinati C:');
          read(x3);
          read(y3);
          Writeln('Vvedite koordinati D:');
          read(x4);
          read(y4);
          rectangleArea:=considingRectangleArea(x1,y1,x2,y2,x3,y3,x4,y4);
          WriteLn(Format('Ploshad = %g',[rectangleArea]));
          text:=doValidRectangleText(rectangleArea,x1,y1,x2,y2,x3,y3,x4,y4);
          writeTxt(text);
          Writeln('File done!');
        end;
    end
    else
      begin
       Writeln('Nevernoe znachenie koordinat!');
       ReadLn;
      end;
  end;
 
begin
  WriteLn('Vvedite kol-vo koordinat: ');
  read(i);
  selectForm(i);
  ReadLn;
  ReadLn;
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru