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

Работа с потоками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программирование полиморфных методов http://www.cyberforum.ru/cpp-beginners/thread367552.html
Задание: Создать абстрактный базовый класс Body (тело) с виртуальными функциями вычисления площади поверхности и объема. Создать производные классы Параллепипед и Шар со своими функциями площади поверхности и объема. ЧТО ТАКОЕ ВООБЩЕ ПРОИЗВОДНЫЙ КЛАСС И КАК ЕГО НАПИСАТЬ????
C++ Не работает сочетание клавиш в Visual Studio 2010 Здравствуйте! Стоял у меня Visual Studio 2010! Я переустановил Windows, поставил опять же его, создал проект и как всегда жму сочетание клавиш: CTRL+ALT+F7 В этом случае должен скомпилироваться код и должны быть выведены все сведения о проге, ну тоесть сколько ошибок или все верно... Но вот в чем проблема! Теперь это сочетание клавиш у меня вообще не работает! Что мне делать? Может где-то... http://www.cyberforum.ru/cpp-beginners/thread367550.html
Граф C++
Дан граф в виде матрицы смежности 7х7(вводится вручную либо загружается из файла) нужно реализовать только такие функции: вычислить: − расстояние между заданными вершинами; − значение эксцентриситета для заданной вершины; − радиус графа; − диаметр графа; вот код класса Графа(реализованы конструкторы и показ матрицы) class Graph {
C++ Ввести три числа, найти их сумму, произведение и среднее арифметическое.
Ввести три числа, найти их сумму, произведение и среднее арифметическое. Помогите найти ошибку в коде! Заранее спасибо! #include <iostream.h> #include <conio.h> main() { int a, b, c, s, d, r; cout <<"Vveditte tri chisla:4,5,7"\n;
C++ Утечка памяти http://www.cyberforum.ru/cpp-beginners/thread367520.html
Не могу понять как избежать утечки памяти в своей программе... привожу кусок в одном из мест где на мой взгляд она происходит... Array Array::Add(Array a, Array b) { Array *N = new Array; if (a.size>=b.size) { for (int i=0; i<b.size; i++) {N->mas=a.mas+b.mas; } for(int i=b.size; i<a.size; i++) {N->mas=a.mas;} N->size = a.size; } else {for (int i=0; i<a.size; i++)...
C++ Передача аргументов в классе #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; const int n=3; class reversion { int mass1; int mass2; int rev1; подробнее

Показать сообщение отдельно
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
17.10.2011, 05:14     Работа с потоками
Всем привет.
Задание такое: Реализовать программу запускающую в разных потоках подпрограммы прорисовки отрезков прямых. В одной подпрограмме реализовать алгоритм Брезенхейма, во второй простейший алгоритм построения отрезка прямой. Координаты концов отрезков определяются случайным образом в обоих случаях, но каждая подпрограмма рисует отрезки в своих прямоугольных областях.

Есть алгоритмы построения отрезков. Всё вообщем-то есть.

Не могу это организовать.

Ну не знаю что где написать, чтобы в Image рисовались отрезки по этим алгоритмам.
Создала пока форму и два имэджа на ней.
И код пока такой написала:
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <process.h>
#include "Unit1.h"
#include <conio.h>
#include <stdio.h>
#include <time.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
 void drawLine(int x1, int y1, int x2, int y2)
{
    int deltaX = abs(x2 - x1);
    int deltaY = abs(y2 - y1);
    int signX = x1 < x2 ? 1 : -1;
    int signY = y1 < y2 ? 1 : -1;
    int error = deltaX - deltaY;
    void setPixel(
    int x1,
    int y1)  ;
    for (;;)
    {
        setPixel(x1, y1);
 
        if(x1 == x2 && y1 == y2)
            break;
 
        int error2 = error * 2;
 
        if(error2 > -deltaY)
        {
            error -= deltaY;
            x1 += signX;
        }
 
        if(error2 < deltaX)
        {
            error += deltaX;
            y1 += signY;
        }
    }
}
 
   void line(int x1, int y1, int x2, int y2)
{       void setPixel(
    int x1,
    int y1)  ;
double k = ((double)(y2 - y1)) / (x2 - x1);
double y = y1;
for (int x = x1; x <= x2; x++, y += k)
setPixel(x, (int)y);
}
 int a[ 5 ];
 
  void Thread( void* pParams )
  { int x1 = 2 + rand() %7;
    int x2 = 2 + rand() %7;
    int y1 = 2 + rand() %7;
    int y2 = 2 + rand() %7;
   line(x1, y1, x2, y2);
  }
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
 
//Image1->Canvas->LineTo(rand()%Image1->Height,rand()%Image1->Width);
 
//Image2->Canvas->LineTo(rand()%Image1->Height,rand()%Image1->Width);
}
//------------------------------------
Не знаю как сформулировать вопрос, помогите плиз доделать чтоб было по заданию

Добавлено через 1 час 3 минуты
Ну ответьте пож кто-нибудь хоть что-нибудь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru