
02.01.2008, 04:06
|
|
Новичок
Регистрация: 02.01.2008
Сообщений: 2
С нами:
9661974
Репутация:
0
|
|
Каким образом с помощью MFC реализовать следующее:
1. Приложение должно при нажатии клавиш к примеру 1,2,3, ........ выводить графические фигуры (Проблема в том что какое сообщение вставлять в карту? Это WM_CHAR ? и как потом реализацию отклика на сообщение связать с WM_PAINT ....... так чтобы появлялась нужная фигура)
2. Приложение под управлением таймера выводит на экран графические фигуры с заданным интервалом (Как в void CMyMainWnd::OnTimer(UINT nIDEvent) это можно осуществить ? )
3. Нужно чтобы с помощью клавиш "вверх - вниз" изменялась частота таймера.
Шаблон данных приложений примерно такого вида:
#include <afxwin.h>
class CMyMainWnd:
public CFrameWnd
{public:
CMyMainWnd()
{
Create(NULL,"$ - Djigser");
SetTimer(1,1000,NULL);
}
afx_msg void OnTimer(UINT);
DECLARE_MESSAGE_MAP()
~CMyMainWnd()
{
KillTimer(1);
}
};
BEGIN_MESSAGE_MAP(CMyMainWnd,CFrameWnd)
ON_WM_TIMER()
END_MESSAGE_MAP()
class CMyApp :
public CWinApp
{public:
CMyApp(){};
virtual BOOL InitInstance()
{
m_pMainWnd=new CMyMainWnd();
m_pMainWnd->ShowWindow(SW_SHOW);
return TRUE;
}
};
CMyApp theApp;
void CMyMainWnd::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
CClientDC dc(this);
CBrush brush;
brush.CreateSolidBrush(RGB(0,0,255));
CBrush* def_brush = dc.SelectObject(&brush);
dc.Ellipse(5,5,50,50);
dc.SelectObject(def_brush);
brush.DeleteObject();
}
}
Был бы признателен за оказанную помощь.
|
|
|

02.01.2008, 19:58
|
|
Banned
Регистрация: 24.08.2007
Сообщений: 201
С нами:
9849986
Репутация:
424
|
|
Задание
используя алгоритмы и контейнеры Stl:
создай список из 20 случаных элементов, со значениями от 1 до 19.
отсортируй список так что бы сначала шли четные элементы
Заранее спасибо
|
|
|

03.01.2008, 16:43
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
С нами:
10042776
Репутация:
275
|
|
Shawn1x
Код:
#include <vector>
#include <iostream>
#include <time.h>
#include <algorithm>
using namespace std;
bool pred( int value )
{
return !(value % 2) ;
}
void print( int value )
{
cout << value << '\t';
}
void set_and_print( int& value)
{
cout << ( value = rand() % 20 ) << '\t';
}
void main()
{
const int size = 20;
vector<int> vec(size);
srand((unsigned)time(NULL));
for_each(vec.begin(), vec.end(), set_and_print);
cout << endl;
partition(vec.begin(), vec.end(), pred);
for_each(vec.begin(), vec.end(), print);
cout << endl;
}
|
|
|

08.01.2008, 23:06
|
|
Новичок
Регистрация: 02.11.2007
Сообщений: 6
С нами:
9748522
Репутация:
10
|
|
Народ, помогите пожалуйста.
Задача Ферма. Найти квадрат, который в сумме со всеми его собственными делителями дает куб.
С рекурсивным алгоритмом . На С++.
Заранее огромное спасибо.
Последний раз редактировалось Life-inventor; 08.01.2008 в 23:16..
|
|
|

14.01.2008, 00:07
|
|
Новичок
Регистрация: 02.11.2007
Сообщений: 6
С нами:
9748522
Репутация:
10
|
|
Сообщение от Life-inventor
Народ, помогите пожалуйста.
Задача Ферма. Найти квадрат, который в сумме со всеми его собственными делителями дает куб.
С рекурсивным алгоритмом . На С++.
Заранее огромное спасибо.
Люди, помогите плиз, ооочень надо....
|
|
|

10.01.2008, 00:48
|
|
Новичок
Регистрация: 09.01.2008
Сообщений: 1
С нами:
9651946
Репутация:
0
|
|
очень надо решить задачу до пятницы...на с++...никто почему-то не может...неужели она такая нерешаемая?посмотрите пожалуйста...может кто хоть часть кода сможет написать?
Разместить на шахматной доске максимальное количество слонов и ладей так, чтобы они не находились друг у друга "под боем".
|
|
|

10.01.2008, 00:56
|
|
Banned
Регистрация: 20.06.2005
Сообщений: 880
С нами:
10994966
Репутация:
1332
|
|
http://forum.antichat.ru/showpost.php?p=517321&postcount=16
|
|
|

10.01.2008, 11:06
|
|
Участник форума
Регистрация: 27.10.2006
Сообщений: 115
С нами:
10282757
Репутация:
119
|
|
Вот дали задачку, надо написать под Delphi в консоль апликатион, что-то не получается написать корректные функции
Задание
заданые n точек на плоскости записать в массив записей tpoint
Разработать подпрограмму поределамия коэф прямой проходишей через две точки
для описания прямой использовать запись с полями k,b:real
разработать подпрограмму формирования записей для всех возможных прямых проходящих между двумя точками
разработать подпрограмму определения прямой с максимальным К и соответствующей ей точек(определить их номера)
то что накропал
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
type tpoint=record
x,y:real; end;
primai=record
k,b:real; end;
tmas=array[1..20] of tpoint ;
mas=array[1..20] of real;
//vvod точек
procedure Vvod( var A:tpoint;n:Integer);
var i:integer;
begin
Writeln('vvedire kolvo tochek');
readln(n);
for i:=1 to n do
begin
Writeln('koordinatu x');
readln(A.x);
Writeln('koordinatu y');
readln(A.y);
end;
end;
//функция определения коэфициента.
Function Oprkoef(const tpoint1,tpoint2:tpoint; n:integer ):real;
begin
result:=(tpoint1.y--tpoint2.y)/(tpoint1.x--tpoint2.x);
end;
Var A:tpoint;
n,i,j:integer;
Begin
procedure Vvod(A,n);
readln;
end.
Среда ругается на вывоз процедуры, подскажите в чем оплошность?
|
|
|

10.01.2008, 11:37
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами:
10021597
Репутация:
905
|
|
А к чему создавать тип TPoint, когда он в делфи уже есть? Только, вроде бы, там x и y типа integer, если память не изменяет. Лучше объявите тип TMyPoint.
В процедуру Vvod передавайте не var A: TPoint, а лучше var A: array of TMyPoint.
Что означает код
result:=(tpoint1.y--tpoint2.y)/(tpoint1.x--tpoint2.x);
?
Что за операция -- ? И вообще для чего у вас функция Oprkoef, если она нигде не вызывается?
Begin
procedure Vvod(A,n);
readln;
end.
хе, ключевое слово procedure при вызове подпрограммы из тела главной программы не нужно совершенно.
ЗЫ. На будущее оформляйте плиз код в тэги [коде][/коде], а не в [квоте][/квоте], читать код сложно
|
|
|

10.01.2008, 11:49
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами:
10021597
Репутация:
905
|
|
Часть кода может быть таким:
Код:
program Project2;
{$APPTYPE CONSOLE}
type
TMyPoint = record
x, y : real;
end;
TLine = record
k, b : real;
end;
TMas = array [1..20] of TMyPoint;
////vvod точек
procedure Vvod (var A : TMas; n : Integer);
var
i : integer;
begin
for i := 1 to n do begin
Write ('koordinatu x: ');
readln (A[i].x);
Write ('koordinatu y: ');
readln (A[i].y);
end;
end;
........
var
A : TMas;
n, i, j : integer;
begin
Write ('vvedire kolvo tochek: ');
readln(n);
Vvod (A,n);
readln;
end.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|