Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 02.10.2013
Сообщений: 17

Перепишите пожалуйста на C++

08.10.2013, 23:25. Показов 1275. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
var r5,x1,y1,x2,y2,x3,y3,x4,y4:integer;
    l,n,r4,r3,r1,r2:integer;
begin
   x1:=200;y1:=200;
   x2:=200;y2:=50;
   x3:=50;y3:=50;
   r1:=Round(SQRt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
   r2:=Round(SQRt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)));
   r3:=Round(SQrt(r2*r2+r1*r1));
   if (x1-x2)>0 then
   l:=Round(arctan((y1-y2)/(x1-x2))*180/pi) else l:=90;
   // находим угол наклона сторны A
   for n:=0 to 4 do begin
     x4:=x2+Round(cos((45+l)*pi/180)*r3)*GetNt(n).a;
     y4:=y2+Round(sin((45+l)*pi/180)*r3)*GetNt(n).b;
     r4:=Round(SQRt((x3-x4)*(x3-x4)+(y3-y4)*(y3-y4)));
     r5:=Round(SQRt((x4-x1)*(x4-x1)+(y4-y1)*(y4-y1)));
     if (r4=r1) and (r5=r2) then begin
       Showmessage(inttostr(x4)+'  '+inttostr(y4));
       break;
     end;
   end;
   myDrawRect(x1,y1,x2,y2,x3,y3,x4,y4);
 
 
end;
Добавлено через 33 минуты
Пожалуйста очень нужно, умоляю просто
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.10.2013, 23:25
Ответы с готовыми решениями:

перепишите на C++ пожалуйста
Перепешите пожалуйста на С/С++. uses crt; var a:array of integer; n,i:integer; begin writeln('Введите любые числа от -10 до...

Перепишите, пожалуйста, программу, используя цикл for
#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int main() { double y, x, a, b, h, p, eps,...

Перепишите пожалуйста код программы с языка Visual Basic в C++
Вот код на языке Visual Basic Randomize Timer Dim A(19) As integer For i=0 to 19 A(i)=Int(Rnd*1000) Next For i=0 to 19 ...

4
 Аватар для TrueBit
100 / 100 / 47
Регистрация: 19.11.2012
Сообщений: 195
08.10.2013, 23:36
Как работает функция myDrawRect? Как организована структура для GetNt и чем она заполнена? Не изучал Delphi, но вот код для консоли. Может пригодится(без гарантий).
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
#include <iostream>
#include <math.h>
#define pi 3.14159265358979323846
using namespace std;
void myDrawRect(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4) {
    printf("то, что myDrawRect(%d,%d,%d,%d,%d,%d,%d,%d) ?",x1,y1,x2,y2,x3,y3,x4,y4);
}
struct MyStruct {
    int a;
    int b;
};
int main() {
    int r5,x1,y1,x2,y2,x3,y3,x4,y4;
    int l,n,r4,r3,r1,r2;
    MyStruct GetNt [5];
    setlocale(LC_ALL,"rus");
    x1=200; y1=200;
    x2=200; y2=50;
    x3=50;  y3=50;
 
    for(int i=0; i<=4; i++) { // как заполнена структура GetNt? Заполним 1-ми
        GetNt[i].a=1;
        GetNt[i].b=1;
    }
 
    r1=(int)ceil(sqrt((double)((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))));
    r2=(int)ceil(sqrt((double)((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2))));
    r3=(int)ceil(sqrt((double)(r2*r2+r1*r1)));
 
    if((x1-x2)>0)
        l=(int)ceil(atan((double)((y1-y2)/(x1-x2))*180/pi));
    else
        l=90;
    // находим угол наклона сторны A
    for(n=0; n<=4;n++) {
         x4=x2+(int)ceil(cos((45+l)*pi/180)*r3)*GetNt[n].a;  // структура GetNt - нужно инициализировать
         y4=y2+(int)ceil(sin((45+l)*pi/180)*r3)*GetNt[n].b;  // структура GetNt - нужно инициализировать
         r4=(int)ceil(sqrt((double)((x3-x4)*(x3-x4)+(y3-y4)*(y3-y4))));
         r5=(int)ceil(sqrt((double)((x4-x1)*(x4-x1)+(y4-y1)*(y4-y1))));
         if ( r4==r1 && r5==r2) {
             printf("%d  %d\n",x4,y4);
            break;
        }
   }
   myDrawRect(x1,y1,x2,y2,x3,y3,x4,y4);
   getchar();
}
1
0 / 0 / 1
Регистрация: 02.10.2013
Сообщений: 17
09.10.2013, 00:55  [ТС]
Спасибо огромное

Добавлено через 1 час 7 минут
Не подскажите пожалуйста, я правильно изменил код для решения этой задачи ?

Даны действительные числа x1, y1, x2, y2, x3, y3. Известно, что точка с координатами (x1, y1), (x2, y2), (x3, y3), являться вершинами прямоугольника. Определить координаты четвертой вершины прямоугольника


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>
#define pi 3.14159265358979323846
 
 
void main() {
    float r5,x1,y1,x2,y2,x3,y3,x4,y4, l,n,r4,r3,r1,r2;;
    
    for(int i=0; i<=4; i++) { 
        a=1;
        b=1;
    }
 
    r1=(int)ceil(sqrt((double)((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))));
    r2=(int)ceil(sqrt((double)((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2))));
    r3=(int)ceil(sqrt((double)(r2*r2+r1*r1)));
 
    if((x1-x2)>0)
        l=(int)ceil(atan((double)((y1-y2)/(x1-x2))*180/pi));
    else
        l=90;
    // находим угол наклона сторны A
    for(n=0; n<=4;n++) {
         x4=x2+(int)ceil(cos((45+l)*pi/180)*r3)*n*a; 
         y4=y2+(int)ceil(sin((45+l)*pi/180)*r3)*n*b;  
         r4=(int)ceil(sqrt((double)((x3-x4)*(x3-x4)+(y3-y4)*(y3-y4))));
         r5=(int)ceil(sqrt((double)((x4-x1)*(x4-x1)+(y4-y1)*(y4-y1))));
         if ( r4==r1 && r5==r2) {
             printf("Koordinati vershini ravni: &d &d",x4,y4);
            break;
        }
   }
  
}
0
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 113
09.10.2013, 08:57
Цитата Сообщение от mazarinik Посмотреть сообщение

C++
1
2
3
4
    for(int i=0; i<=4; i++) { 
        a=1;
        b=1;
    }
Что это за цикл такой? И что за переменные? по моему они даже не объявлены..
0
 Аватар для TrueBit
100 / 100 / 47
Регистрация: 19.11.2012
Сообщений: 195
09.10.2013, 16:14
Цитата Сообщение от mazarinik Посмотреть сообщение
Спасибо огромное

Добавлено через 1 час 7 минут
Не подскажите пожалуйста, я правильно изменил код для решения этой задачи ?

Даны действительные числа x1, y1, x2, y2, x3, y3. Известно, что точка с координатами (x1, y1), (x2, y2), (x3, y3), являться вершинами прямоугольника. Определить координаты четвертой вершины прямоугольника


C++
1
...
Если правильно понял, то даны 3 точки с координатами (x1, y1), (x2, y2), (x3, y3), где x1, y1, x2, y2, x3, y3 - действительные числа. Обозначим их A,B,C соответственно. Они являются вершинами прямоугольника. Пусть точка D - четвертая вершина прямоугольника. Определить её координаты. Изобразим наглядно.

oY
^
|.......B(x2,y2)------C( x3,y3)
|................|.\.......|
|................|..\......|
|................|...\.....|
|................|....\....|
|................|.....\...|
|................|......\..|
|................|.......\.|
|................|........\|
|.......A(x1,y1)------| D(x4,y4) - искомая точка
0---------------------------------------------------> oX

AD = BC = C-B = (x3-x2; y3-y2)
D = AD + A = (x3-x2; y3-y2) + (x1; y1) = (x1-x2+x3; y1-y2+y3)

, где AD,BC,AD - векторы(буду признателен, если кто-нибудь подскажет, как делать математические вставки(н-р векторное обозначение) на языке, подобном LaTeX)

таким образом координаты точки D(x1-x2+x3; y1-y2+y3).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main() {
    double x1,y1,x2,y2,x3,y3,x4,y4;
    setlocale(LC_ALL,"rus");
    cout << "Введите x1: "; cin >> x1;
    cout << "Введите y1: "; cin >> y1;
    cout << "Введите x2: "; cin >> x2;
    cout << "Введите y2: "; cin >> y2;
    cout << "Введите x3: "; cin >> x3;
    cout << "Введите y3: "; cin >> y3;
    x4=x1-x2+x3;
    y4=y1-y2+y3;
    printf("(x1,y1),(x2,y2),(x3,y3),(x4,y4)=(%d,%d),(%d,%d),(%d,%d),(%d,%d) \n",
        x1,y1,x2,y2,x3,y3,x4,y4);
   getchar();
   getchar();
}
Добавлено через 8 минут
Забыл исправить printf:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main() {
    double x1,y1,x2,y2,x3,y3,x4,y4;
    setlocale(LC_ALL,"rus");
    cout << "Введите x1: "; cin >> x1;
    cout << "Введите y1: "; cin >> y1;
    cout << "Введите x2: "; cin >> x2;
    cout << "Введите y2: "; cin >> y2;
    cout << "Введите x3: "; cin >> x3;
    cout << "Введите y3: "; cin >> y3;
    x4=x1-x2+x3;
    y4=y1-y2+y3;
    printf("(x1,y1),(x2,y2),(x3,y3),(x4,y4)=(%f,%f),(%f,%f),(%f,%f),(%f,%f) \n",
        x1,y1,x2,y2,x3,y3,x4,y4);
   getchar();
   getchar();
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2013, 16:14
Помогаю со студенческими работами здесь

Перепишите с С на С++
#include&lt;conio.h&gt; #include&lt;stdio.h&gt; const int N = 10; main(){ int A, i, b; for(i=0; i&lt;N; i++){ ...

Перепишите с Pascal на C++
uses crt; const nmax = 30; type TInfo = record M : real; V : real; end;

Перепишите код
Здраствуйте, помогите пожалуйста переписать код так что бы не через указатель temp, а через вызов функции с тела программы. #include...

Перепишите программу из Pascal в C++
Здравствуйте. Прошу вас о помощи. Есть программа на Pascal. Нужно переписать её на C++, чтобы она выполняла такие же операции. Вот код: ...

Перепишите строчку на printf_s
case 1: cout &lt;&lt; &quot;\n Red&quot;; break; как строчку эту переписать на printf_s


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru