// Не скажу что оптимально но работает
uses
DrawMan;
const
c_x = 8;
c_y = 8;
var
xi, yi, h: integer;
procedure one_star(x, y, r: integer);
var
xi, yi, step: integer;
begin
step := r div 4;
for xi := -1 to 1 do
for yi := -1 to 1 do
begin
if (xi * yi <> 0) or (xi + yi = 0) then
continue;
ToPoint(x, y);
PenDown;
ToPoint(x + xi * 4 * step, y + yi * 4 * step);
PenUp;
// stop;
ToPoint(x + yi * step, y + xi * step);
PenDown;
ToPoint(x + xi * 4 * step, y + yi * 4 * step);
PenUp;
ToPoint(x - yi * step, y - xi * step);
PenDown;
ToPoint(x + xi * 4 * step, y + yi * 4 * step);
PenUp;
ToPoint(x + yi * 2 * step, y + xi * 2 * step);
PenDown;
ToPoint(x + xi * 3 * step, y + yi * 3 * step);
PenUp;
ToPoint(x - yi * 2 * step, y + xi * 2 * step);
PenDown;
ToPoint(x - xi * 3 * step, y - yi * 3 * step);
PenUp;
ToPoint(x + yi * 2 * step, y - xi * 2 * step);
PenDown;
ToPoint(x - xi * 3 * step, y - yi * 3 * step);
PenUp;
end;
end;
begin
Field(2 * c_x, 2 * c_y);
h := c_x div 2;
for xi := -1 to 1 do
for yi := -1 to 1 do
begin
if (xi * yi <> 0) or (xi + yi = 0) then
continue;
one_star(c_x + xi * h, c_y + yi * h, h);
end;
end.
В матрице сначала вводится строка....
1)#include <iostream>
using namespace std;
int main()
{
int x;//вводит пользователь
int y;//фунцыя
cout << "Please enter x > ";
cin >> x;
if (x <= -2 & x <= 2)//если -2<=x<=2
y = x * x;
else
y = 4;
cout << "From x : " << x << "; Y = " << y << endl;
system("pause");
return 0;
}
2)
#include <iostream>
using namespace std;
int main()
{
int x;//вводит пользователь
int y;//функцыя
cout << "Enter x > ";
cin >> x;
if (x < 2)
y = (1 + cos(2 * x)) / 2;//формула cos^2 X;
else
y = 1 + (1 - cos(2 * x)) / 2;//формула sin^2 X;
cout << "Your function from X : " << x << "; Y = " << y << endl;
system("pause");
return 0;
}
<em>Возможно запорол с формулами, перепроверь наверняка.</em>