HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.01.2008, 04:06
Georg Jung
Новичок
Регистрация: 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();
}
}

Был бы признателен за оказанную помощь.
 
Ответить с цитированием

  #2  
Старый 02.01.2008, 19:58
Shawn1x
Banned
Регистрация: 24.08.2007
Сообщений: 201
С нами: 9849986

Репутация: 424
По умолчанию

Задание
используя алгоритмы и контейнеры Stl:
создай список из 20 случаных элементов, со значениями от 1 до 19.
отсортируй список так что бы сначала шли четные элементы
Заранее спасибо
 
Ответить с цитированием

  #3  
Старый 03.01.2008, 16:43
Forcer
Постоянный
Регистрация: 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;
}
 
Ответить с цитированием

  #4  
Старый 08.01.2008, 23:06
Life-inventor
Новичок
Регистрация: 02.11.2007
Сообщений: 6
С нами: 9748522

Репутация: 10
По умолчанию

Народ, помогите пожалуйста.

Задача Ферма. Найти квадрат, который в сумме со всеми его собственными делителями дает куб.

С рекурсивным алгоритмом . На С++.

Заранее огромное спасибо.

Последний раз редактировалось Life-inventor; 08.01.2008 в 23:16..
 
Ответить с цитированием

  #5  
Старый 14.01.2008, 00:07
Life-inventor
Новичок
Регистрация: 02.11.2007
Сообщений: 6
С нами: 9748522

Репутация: 10
По умолчанию

Цитата:
Сообщение от Life-inventor  
Народ, помогите пожалуйста.

Задача Ферма. Найти квадрат, который в сумме со всеми его собственными делителями дает куб.

С рекурсивным алгоритмом . На С++.

Заранее огромное спасибо.
Люди, помогите плиз, ооочень надо....
 
Ответить с цитированием

  #6  
Старый 10.01.2008, 00:48
kotopusya
Новичок
Регистрация: 09.01.2008
Сообщений: 1
С нами: 9651946

Репутация: 0
По умолчанию

очень надо решить задачу до пятницы...на с++...никто почему-то не может...неужели она такая нерешаемая?посмотрите пожалуйста...может кто хоть часть кода сможет написать?
Разместить на шахматной доске максимальное количество слонов и ладей так, чтобы они не находились друг у друга "под боем".
 
Ответить с цитированием

  #7  
Старый 10.01.2008, 00:56
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
С нами: 10994966

Репутация: 1332


По умолчанию

http://forum.antichat.ru/showpost.php?p=517321&postcount=16
 
Ответить с цитированием

  #8  
Старый 10.01.2008, 11:06
mari00
Участник форума
Регистрация: 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.
Среда ругается на вывоз процедуры, подскажите в чем оплошность?
 
Ответить с цитированием

  #9  
Старый 10.01.2008, 11:37
krypt3r
Познавший АНТИЧАТ
Регистрация: 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  
Старый 10.01.2008, 11:49
krypt3r
Познавший АНТИЧАТ
Регистрация: 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.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.