program grib;
uses drawman;
begin
Field(10,10);
OnVector(3,4);
PenDown;
OnVector(-1,0);
OnVector(-1,1);
OnVector(1,1);
OnVector(3,1);
OnVector(3,-1);
OnVector(1,-1);
OnVector(-1,-1);
OnVector(-5,0);
OnVector(0,-2);
OnVector(1,-1);
OnVector(2,0);
OnVector(1,1);
OnVector(0,2);
PenUp;
OnVector(-7,-4);
end.
Объяснение:
Смотри картинку
Команда OnVector (x,y) - перемещает перо Чертежника на вектор (x,y).
Т.е. насколько отличается текущее положение от нужного положения.
Если смещение происходит вправо по оси x и вверх по оси y координаты положительны.
Если смещение происходит влево по оси x и вниз по оси y координаты отрицательны.
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int m=10, n=8;
int a[m][n];
srand(time(0));
for(int i=0; i<m; i++)
{
for(int j=0; j<n; j++)
{
a[i][j]=-99+rand()%199;
cout << setw(4) << a[i][j];
}
cout << endl;
}
cout << endl;
// сортировка
int t;
for(int i=0; i<m; i++)
{
for(int k=n-2; i>=0; i--)
for(int j=0; j<=k; j++)
if(a[i][j] > a[i][j+1])
{
t=a[i][j]; a[i][j]=a[i][j+1]; a[i][j+1]=t;
}
for(int j=0; j<n; j++)
cout << setw(4) << a[i][j];
cout << endl;
}
return 0;
}
Прилагается пример вывода.
Командный интерфейс
Объяснение: