Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2008, 14:27   #1
AleksIvanovich
Новичок
Джуниор
 
Регистрация: 17.07.2008
Сообщений: 1
Восклицание Посоветуйте, как решить 2 небольшие задачи

Это задачи по практике в институте.
1. Пусть цвета экрана имеют номера 0, 1, ..., k. Высветить все точки экрана (или точки некоторой прямоугольной области) различными цветами, используя для точки с координатами i, j цвет с номером, равным остатку от деления |m| на k+1, где где m может быть взято как i+j.
2. Пусть a и b -- файлы, k -- натуральное число. Будем говорить, что файлы a и b согласованно k-упорядоченны, если в одном файле число упорядоченных групп меньше на единицу, чем в другом, то неполной может быть только последняя группа более длинного файла.

Я знаю остновные средства языка, т.ч. в к первой задаче вопрос, как выводить эти цвета и точки.
А насчёт второй задачи, я вообще без идеи, что там нужно сделать.

Есть какие-нибудь соображения?
AleksIvanovich вне форума Ответить с цитированием
Старый 17.07.2008, 15:26   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

1 задача. Есть галимый пример с вращением фигурки.
Аналогично выводятся пиксель любого цвета.

Код:
Const Pi = 3.1415926;

Var
  Form1: TForm1;
  H : HDC;
  x, y, i, n, R :integer;
  GV : array [1..10, 1..10] of Real;
  a : Real;
  Procedure PrintM;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
For i := 1 To (n + 1) Do
LineTo(H, Round(GV[i,1]) + 450, Round(GV[i,2]) + 450);
a := a + 10;
PrintM;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
PrintM;
H := GetDC(0);
end;

Procedure PrintM;
var z : Integer;
Begin
n := 6; R := 100;
For z := 1 To n Do
  Begin
    GV[z,1] := R * cos(a * Pi/180);
    GV[z,2] := R * sin(a * Pi/180);
    a := a + 360/n;
  End;
GV[n + 1,1] := GV[1,1];
GV[n + 1,2] := GV[1,2];
End;

end.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 17.07.2008, 15:41   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в к первой задаче вопрос, как выводить эти цвета и точки.
Первое: Порой поиском по форуму на предмет InitGraph там буду примеры включения графики. Далее если это паскаль то в нем есть процедура PutPixel(x,y) - светит точку в координатах SetColor устанавливает цвет.
т.е. в цикле меняешь цвет и выводишь точки. Координаты рассчитай так чтоб они попадали в область.

По второму ниче не понятно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.07.2008, 15:55   #4
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Я выложил самый отстойный пример который был у меня на компьютере.

Написал другой.....

Код:
Var
  Form1: TForm1;
  x, y : Integer;
  Wind : TCanvas;

Implementation

{$R *.dfm}

Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
Randomize; y := Random(300) + 100;
For x := 1 To 100 Do Wind.Pixels[100 + x, y] := ClRed;
End;

Procedure TForm1.FormCreate(Sender: TObject);
Begin
Wind := TCanvas.Create;
Wind.Handle := GetWindowDC(0);
End;

End.
Тут ничего лишнего, всё понятно и прозрачно.
Рисуются линии.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшие проблемы с модулем, помогите Taisja Помощь студентам 3 27.10.2011 14:37
Решить 4 задачи по си versetty Фриланс 1 28.05.2008 20:14
Помогите решить задачи в C++ marsius Помощь студентам 4 18.04.2008 23:33
Помогите решить задачи DenSuper007x Помощь студентам 2 12.04.2008 23:00
Решить задачи Дарья Русанова Помощь студентам 3 30.03.2008 16:15