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

Графика: Узор образован 20 вложенными квадратами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как написать программу под эти условия http://www.cyberforum.ru/cpp-beginners/thread916644.html
Суть в чём: есть список товара (багет 150 видов) с указанной ценой и шириной за метр, все цены разные, так же как и ширина непосредственно багета. Необходимо, чтобы в программе можно было ввести номер или код багета, а так же размеры будущей рамки длина - ширина, а в результате получить стоимость рамки + ширина багета умноженная на 10 (отходы). + как доп. опция отметить стекло. На сколько я...
C++ Задача "Железнодорожный узел" Железнодорожный сортировочный узел устроен так, как показано на ри-сунке. На правой стороне собрано в произвольном порядке несколько вагонов обоих типов по N штук. Тупик может вмещать все 2N вагонов. Пользуясь тремя сортировочными операциями: В, ИЗ, МИМО, собрать вагоны на левой стороне так, чтобы типы чередовались. Для решения задачи достаточно 3N-1 сортировочных операций. Не понимаю даже с... http://www.cyberforum.ru/cpp-beginners/thread916609.html
Чтение из файла C++
Первый раз пишу программу такого типа, подскажите как правильно надо, я написал вот так, но пишет нарушение прав доступа при чтении, не могу понять как надо char fname="C://MyFile.txt"; FILE* f; f=fopen(fname,"rt"); TComposition* ptr=NULL; if (f) { while (!feof(f)) {
C++ Ошибка Unresolved external
Доброго времени суток! Начал изучать С++. Пример прямо из учебника. Ошибка известная. Но решения найти не могу. Все рекомендуют искать и подключать библиотеки, в зависимости от того, что не может найти компилятор. Мне то что искать - и так все есть) Выполняю в Builder 6 Help me)) Unresolved external 'my_string::assign(const char *)' referenced from C:\USERS\ALEX\DESKTOP\C++\НОВАЯ...
C++ Что такое рекурсия? Зачем она нужна? http://www.cyberforum.ru/cpp-beginners/thread916567.html
Объясните пож человеческим языком, что такое Рекурсия. Я знаю что это вызов функции самой себя. Но всё равно не могу догнать зачем она нужна. Заранее спасибо!
C++ Оптимизация программы Помогите оптимизировать программу, не могу сам. #include <iostream> #include <conio.h> using namespace std; int main() { подробнее

Показать сообщение отдельно
rob777
1 / 1 / 0
Регистрация: 08.12.2011
Сообщений: 78
03.07.2013, 18:33     Графика: Узор образован 20 вложенными квадратами
Добрый вечер! На практике дали такое задание.

Начертить узор. Узор образован 20 вложенными квадратами. Стороны первого квадрата параллельны осям координат экрана и равны 60. Вершины каждого последующего квадрата - это точки на сторонах предыдущего квадрата, делящие эти стороны в отношении 1 к 1.

Я изучал только делфи и си не знаю.И написал код на делфи. Мне нужно перевести этот код на си++. Буду благодарен за помощь.

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
28
29
30
31
32
33
34
35
36
37
38
procedure TForm1.Button1Click(Sender: TObject);
var u:real;
    i,j,x1,y1,r:integer;
    x,y:array[1..4] of integer;
begin
 
 x[1]:=50;
 x[2]:=110;
 x[3]:=110;
 x[4]:=50;
 
 y[1]:=50;
 y[2]:=50;
 y[3]:=110;
 y[4]:=110;
 
with Canvas do
 begin
  moveto(x[4],y[4]);
  for i:=1 to 4 do
  lineto(x[i],y[i]);
  for j:=1 to 30 do
   begin
    x1:=x[1];
    y1:=y[1];
    for i:=1 to 3 do
     begin
      x[i]:=x[i]+round((x[i+1]-x[i])/2);
      y[i]:=y[i]+round((y[i+1]-y[i])/2);
     end;
    x[4]:=x[4]+round((x1-x[4])/2);
    y[4]:=y[4]+round((y1-y[4])/2);
    moveto(x[4],y[4]);
    for i:=1 to 4 do
    lineto(x[i],y[i]);
   end;
  end;
end;
Добавлено через 21 час 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
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
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Parse the menu selections:
        switch (wmId)
        {
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        // TODO: Add any drawing code here...
        
        //MoveToEx(hdc,125,50,NULL);//Линия
        //LineTo(hdc,175,100);
 
int i,j,x1,y1;
        int x[5]; int y[5];
 x[1]=50;
 x[2]=178;
 x[3]=178;
 x[4]=50;
 
 y[1]=50;
 y[2]=50;
 y[3]=178;
 y[4]=178;
 MoveToEx(hdc,x[4],y[4],NULL);
 for(i=1;i<=4;i++)
 {
     LineTo(hdc,x[i],y[i]);
 }
 for(j=1;j<=29;j++)
 {
    x1=x[1];
    y1=y[1];
    for(i=1;i<=3;i++)
     {
      x[i]=x[i]+((x[i+1]-x[i])/2);
      y[i]=y[i]+((y[i+1]-y[i])/2);
     }
    x[4]=x[4]+((x1-x[4])/2);
    y[4]=y[4]+((y1-y[4])/2);
    MoveToEx(hdc,x[4],y[4],NULL);
    
    for(i=1;i<=4;i++)
    {
    LineTo(hdc,x[i],y[i]);
    }
 }
 
    
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru