Страница 1 из 1

Помогите Брятья... будьте любезны!!! (TPascal)

Добавлено: 04 июл 2007, 17:59
Azamat
1.Определить является ли заданная целочисленная квадратная матрица n-го порядка магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.

2.Дана строка символов S. Подсчитать сколько раз среди данных символов встречается символ + и сколько раз символ *

3.Найти такую точку заданного на плоскости множества, точек, сумма расстояний от которой до остальных минимальна.

Требования, предъявляемые к заданиям:
1. предусмотреть меню:
ввод данных с клавиатуры;
ввод данных из файла;
выход.
3. выполнить с применением подпрограмм пользователя

(К третьей, еще два условия: 4.предусмотреть отображение координатных осей;
5.выделить цветом результат решения поставленной задачи.

Re: Помогите Брятья... будьте любезны!!! (TPascal)

Добавлено: 06 июл 2007, 10:32
Хыиуду
1. Пройти по первой строке матрицы, найти сумму элементов. Потом в цикле пройти по остальным столбцам и строкам, найти сумму их элементов. Если хоть одна сумма не совпадает с первоначальной - не является.
2. for i:=1 to length(s) do
begin
if s='+' then inc(plus);
if s='*' then inc(star);
end;
3. Обойти все точки, для каждой найти сумму расстояний от остальных точек для нее. Расстояние от точки (х1, у1) до (х2, у2) считается по теореме Пифагора: sqrt(sqr(x2-x1)+sqr(y2-y1))

Re: Помогите Брятья... будьте любезны!!! (TPascal)

Добавлено: 06 июл 2007, 13:01
Azamat
спасибо дружищще!!! удружил ты мне...
только... я III задачу никак решить не могу... просто навыков работы с графикой нету... а задачу дня через два надо сдавать... я уже запарился... это, еще не все задачи (я все перереишил) одна эта осталась... сможешь решеть, буду благодарен... помогите начинающему программеру :-)

Re: Помогите Брятья... будьте любезны!!! (TPascal)

Добавлено: 06 июл 2007, 14:58
Хыиуду
Третью можно решить, даже не прикасаясь к графике. А если нужна графика - создать массив записей, каждая запись - координаты точки. Для каждой точки сделать putpixel(x,y,white) Потом найти точку, удовлетворяющую условию, потом для ее координат сделать путпиксель каким-нибудь другим цветом

Re: Помогите Брятья... будьте любезны!!! (TPascal)

Добавлено: 08 июл 2007, 20:58
Azamat
помогитеееееееее!!!!!!!!!!!!!!!!!!!!!!
пожалуйста!!!!!!!!!!!!!
я никак третью задачу решить не могу... я пробовал, честное слово пробовал!!!
пришлите ради бога решение, мне задачу послезавтра сдавать...
дайте мне взглянуть на эту задачу поганую...

p.s. , братья программеры...
серьезно, если сможите... если у вас время для меня бедного (но талантлевого) найдетется... ПРИШЛИТЕ МНЕ РЕШЕНИЕ

П О Ж А Л У Й С Т А

Re: Помогите Брятья... будьте любезны!!! (TPascal)

Добавлено: 09 июл 2007, 10:45
Хыиуду
Основные куски кода. Начальные значения, инициализацию графики и проч. приготовиловку - сам.

Код: Выделить всё

type TPoint=record
   x,y:integer;
end;
var points:array[1..10] of TPoint; {координаты точек}
ranges: array[1..10] of real; {Сумма расстояний от каждой точки до всех остальных}

function range(a,b:TPoint):real;
begin range:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y)); end;

for i:=1 to 10 do
for j:=1 to 10 do
ranges[i]:=ranges[i]+range(points[i],points[j]);
Дальше найти минимум в массиве ranges, это см. раздел алгоритмы.

Re: Помогите Брятья... будьте любезны!!! (TPascal)

Добавлено: 09 июл 2007, 12:53
Azamat
Спасибо Друг... если бы не ты...
ходить бы мне на отработки...
спасибо тебе большое!
:)