IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Сосчитать количество чисел в десятичной записи числа, А также...нахождение радиуса...
Archie
сообщение 16.09.2007 16:49
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской
Реальное имя: Руслан

Репутация: -  0  +


1) Подсчитать количество (k) цифр в десятичной записи целого неотрицательного числа n.
2) Даны натуральное n и вещественные числа x1,y1,x2,y2,...,xn,yn. Рассматривая пары xi и yi как координаты точек на плоскости, определить радиус наименьшего круга (с центром в начале координат), внутрь которого попадают все эти точки.
В паскале плохо шарю и плохо его помню...а тут такое дело - завтра лабораторную эту сдавать а я не могу даже вникнуть...прошу помочь...

Сообщение отредактировано: Archie - 16.09.2007 17:48
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 16.09.2007 21:31
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


{$R-}
uses crt, graph;

type

TPoint = record
x, y: integer;
end;

const
zero: TPoint = (x:0; y:0);

type

PArray = ^TArray;
TArray = array [1..1] of TPoint;

function get_len(const a, b: TPoint): Single;
begin
get_len := sqrt(sqr(a.x - b.x) + sqr(a.y - b.y));
end;

function FloatToStr(const fValue: single): String;
begin
str(fValue:5:2, FloatToStr);
end;

var
gd, gm, cx, cy, mx, my: integer;

i, n: integer;

len, max_len: single;

points: PArray;

begin
gd := detect;
initgraph(gd, gm, '');

mx := getMaxX;
my := getMaxY;

cx := mx div 2;
cy := my div 2;

setColor(RED);

line(cx, 0, cx, my);
line(0, cy, mx, cy);

n := 150;

GetMem(points, n * sizeof(TArray));

randomize;

setColor(BLUE);
setFillStyle(SOLIDFILL, blue);

for i := 1 to n do begin

points^[i].x := random(301) - 150;
points^[i].y := random(301) - 150;

fillellipse(cx + points^[i].x, cy - points^[i].y, 2, 2);
end;

max_len := get_len(zero, points^[1]);

for i := 2 to n do begin
len := get_len(zero, points^[i]);
if len > max_len then
max_len := len;
end;

setColor(WHITE);

circle(cx, cy, round(max_len));

outTextXY(1, 1, 'R = ' + FloatToStr(max_len));

readkey;

closegraph;
FreeMem(points, n * sizeof(TArray));
end.


Сообщение отредактировано: klem4 - 16.09.2007 21:31


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"