Вход

Решения задач на паскале

Научись общаться с машиной и научи других. Все вопросы связанные с программированием и разработкой программ.

Модератор: AxeL

Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
1 декабря 2009 в 23:28

в лс задачи скинь.
0
Чемпион

СообщениеЧемпион RaMon^^ RaMon^^ 0
Оставил 1795 сообщений с 09 дек 2007
ФР: -17331
YIM
5 декабря 2009 в 18:01

Написал программу, которое выводит максимальное кол-во подряд идущих положительных чисел, но проблема в том, что она не выводит число, если последние число положительное, что нужно изменить?

[code:1]program sws;
label 1;
var s,s1,x:integer;
begin
s:=0; s1:=0;
1: writeln('x');
readln(x);
if x>0 then s:=s+1
else begin
if s>s1 then s1:=s; s:=0; writeln(s1);
end;
goto 1;
end.[/code:1]

Понимаю, что надо поменять первое условие, но как?
Последний раз редактировалось RaMon^^ Ср дек 16, 2009 21:16, всего редактировалось 2 раз(а).
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
5 декабря 2009 в 19:12

вы я смотрю эстет программирования.
оператор goto используется в программировании настолько редко что в основном его используют только в школе программируя на бейсике.
а текст написанный в одну строку это вобще шик.

перепишите код в нормальном виде. его даже читать не хочется.
0
Чемпион

СообщениеЧемпион RaMon^^ RaMon^^ 0
Оставил 1795 сообщений с 09 дек 2007
ФР: -17331
YIM
16 декабря 2009 в 21:42

teran, простите, просто в школе не учили эстетики.
Вот сейчас сам параллельно познаю паскаль.
есть хороший сайт, называется acmp.ru

Вообщем туда можно задачи отправлять.
я решил задачу, у мены выдает на 3 тесте, не правильный ответ.
Требуется посчитать сумму целых чисел от 1 до N.
Входные данные

В единственной строке входного файла INPUT.TXT записано единственное целое число N, не превышающее по абсолютной величине 10 в четвертой.
Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел от 1 до N.


[code:1]
var n,k,i:longint;
begin
assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);
read(n);
k:=0;
if n=0 then write(k);
if n>0 then begin
for i:=1 to n do
begin
k:=k+i;
end;
write(k);
end;

if n<0 then begin
n:=-n;
for i:=1 to n do
begin
k:=k+i;
end;
write(k);
end;
end.[/code:1]

Что не так?

вообщем третий тест, это как я понял, когда он подставлял третие значение:)
0
В авторитете

СообщениеВ авторитете DisKom DisKom 0
Оставил 2641 сообщений с 30 апр 2007
ФР: 12497
16 декабря 2009 в 22:46

RaMon^^, при отрицательных числах, сумма будет положительной...

выводите -k

добавлено спустя 3 минуты:

[code:1]var n,k,i:longint;
begin
assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);
read(n);
k:=0;

if n=0 then write(k);

if n>0 then
begin
for i:=1 to n do
k:=k+i;
write(k);
end;

if n<0 then
begin
n:=-n;
for i:=1 to n do
k:=k+i; {тут у вас сумма полуится положительной}
k:=(-1)*k; {так сделаем её отрицательной}
write(k);
end;
end.[/code:1]
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
16 декабря 2009 в 23:00

1. задача странная. не понятно немного N натуральное или просто целое. ибо с одной стороны 1..N с другой про модуль <10^4 написано.

итак будем исходить из того что N произвольное целое число.
рассмотрим твое решение.
2. пусть N=0 тогда вывод программы k=0 . очевидно неправильно ибо сумма от 1 до 0 равно видимо 1.
3.1 пусть N = -1. меняем знак получаем n=1. считаем сумму. k=1. очевидно неправильно. 1 + 0 + (-1) = 0.
3.2 пусть N=-2 тогда после смены знака n=2 и сумма в цикле 1 + 2 = 3. очевидно сумма 1 + 0 + (-1) + (-2) все таки равна -2 а не 3.
скажем так никто не просил считать сумму модулей. считать надо сумму чисел.
(есть кстати цикл типа for i:=1 downto -1 do, в обратную сторону т.е)

4. элементарнейшая математика 6го класса средней школы рассказывает об арифметических прогрессиях. арифм. прогрессия есть последовательность чисел где каждое последующее больше предыдущего не некоторое число d.
вот. там же элементарная математика говорит о том что сумма такой последовательности равна s = (A1 + An)*n/2
4.1 при использовании прогрессии не будет необходимости использовать N циклов для подсчета, следовательно скорость работы увеличится, что в задачах подобных является одним из критериев.

5. если используете переменную для подсчета суммы, то называйте ее соответствующе например sum или хотя бы s.

6. слудуя вышеизложенному решение задачи выглядит следующим образом
[code:1]program sum;
var n,k,sum:longint;
begin
assign(input, 'input.txt');
reset(input);
assign(output, 'output.txt');
rewrite(output);

read(n);
k := abs(n);
if n < 1 then inc(k,2);
sum := (n+1)*k div 2;
writeln(s);
end.
[/code:1]
0
В авторитете

СообщениеВ авторитете DisKom DisKom 0
Оставил 2641 сообщений с 30 апр 2007
ФР: 12497
16 декабря 2009 в 23:28

я туплю, я решал эту задачу с этого сайта... ммммммммм

надо считать при отрицательном N сумму от 1 до -N.

добавлено спустя 1 минуту:

кстати, если у вас есть проблемы, так почитайте обсуждение, там все написано:

и при том если число отрицательное, цикл ведется с 1 до -N, т.е. в обратную сторону
разумеется, это и есть самый сложный момент в этой задаче. в разборе решения это отмечено.
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
17 декабря 2009 в 00:05

лучше на acm.sgu.ru задачки решайте.
0
В авторитете

СообщениеВ авторитете DisKom DisKom 0
Оставил 2641 сообщений с 30 апр 2007
ФР: 12497
17 декабря 2009 в 13:04

teran, да и на acmp.ru есть много интересных задач... там чуть подальше, сейчас идут стандартные, а вот потом начнется веселье
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
17 декабря 2009 в 15:22

DisKom, у меня что то сомнения по поводу сайта где в обсуждениях (как вы сказали) сумма арифметической прогрессии считается с помощью прямого сложения.
0
В авторитете

СообщениеВ авторитете DisKom DisKom 0
Оставил 2641 сообщений с 30 апр 2007
ФР: 12497
17 декабря 2009 в 16:24

teran, а там если почитать решение, то написано, что надо пользоваться формулой, но так как учащиеся её не помнят, то они считают просто сложением.

А это я привел цитату из повествования одного из решивших задачу
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
17 декабря 2009 в 19:45

DisKom, ну при условии что формула суммы арифметической прогрессии выводится в одну строку то помнить там особо ничего не надо.
0

Сообщение CIOQ 17 декабря 2009 в 23:12

Создайте массив из 30 целых ( положительных и отрицательных ) чисел . Получить произведение элементов массива, кратных 3.
0
В авторитете

СообщениеВ авторитете DisKom DisKom 0
Оставил 2641 сообщений с 30 апр 2007
ФР: 12497
17 декабря 2009 в 23:24

teran, согласен
0

Сообщение CIOQ 17 декабря 2009 в 23:27

CIOQ писал(а):Создайте массив из 30 целых ( положительных и отрицательных ) чисел . Получить произведение элементов массива, кратных 3.
можете помочь
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
17 декабря 2009 в 23:32

CIOQ, у вас загвоздка то в чем?
0

Сообщение CIOQ 17 декабря 2009 в 23:33

teran, Создайте массив из 30 целых ( положительных и отрицательных ) чисел . Получить произведение элементов массива, кратных 3.
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
17 декабря 2009 в 23:37

CIOQ, ну смысл задачи я понял.
вы видимо пробовали решить самостоятельно прежде чем обратиться сюда. ну вот можно скинуть ваше решение.
0

Сообщение CIOQ 17 декабря 2009 в 23:37

teran, я не могу решить задачу((((((((( написать программу не получается(
0

Сообщение CIOQ 17 декабря 2009 в 23:48

teran,
program
const N=30
var
a: array [1...N] of integer;
i:integer;
for i:=1 to N do begin
Writeln('a[',i,']=');
read (a[i]);
end;
for i:=1 to N do a [i] :a [i]*3
Writeln('Массив А')
for i:= 1to n do
Write(a[i]:a);
end.
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
18 декабря 2009 в 00:38

должно быть как то так.

[code:1]program test;

const N = 30;
var a:array[1..N]of integer;
i:integer;
result:integer;

begin
result := 1;

for i:=1 to N do a[i] := random(100)-50;

for i:=1 to N do begin
writeln('a[',i,'] = ',a[i]);
if(a[i] <> 0)and(a[i] mod 3 = 0) then
result := result*a[i];
end;
write('result = ',result);
end.
[/code:1]
0

Сообщение CIOQ 18 декабря 2009 в 00:41

teran, огромное спасибо))))))))))))))))))))))))))))))
0
Чемпион

СообщениеЧемпион RaMon^^ RaMon^^ 0
Оставил 1795 сообщений с 09 дек 2007
ФР: -17331
YIM
18 декабря 2009 в 18:36

teran, Спасибо большое за советы. :)
0
Гуру

СообщениеГуру Arven from Rivendell Arven from Rivendell 0
Оставил 955 сообщений с 19 окт 2008
ФР: 205
22 декабря 2009 в 23:28

Задача: разработать алгоритм для решения системы линейных уравнений.И с какой стороны к ней подойти вообще)
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
22 декабря 2009 в 23:46

кхм. постановка задачи конечно интересная. если вам надо разработать какой то принципиально новый алгоритм для этого то флаг вам в руки и вместе с преподом можете придумывать.

если вам надо запрограмировать какой нить алгоритм для решения СЛАУ то читайте про метод гаусса например.
0
Гуру

СообщениеГуру Arven from Rivendell Arven from Rivendell 0
Оставил 955 сообщений с 19 окт 2008
ФР: 205
23 декабря 2009 в 15:13

Эх,тяжело ! ну да ладно !

добавлено спустя 14 часов 48 минут:

Система линейных уравнений: ах+b=0. Значит x=-b/a. Вводятся коэффициенты a и b. Выводится х. Всё решение.
0

Сообщение Пушистость 24 декабря 2009 в 13:28

помогите с задачей пожалуйста! Программа на Паскале, не знаю как упорядочить,массив двумерный. В процедуре упорядочить столбцы по количеству в них чисел, оканчивающихся на 8;
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
24 декабря 2009 в 16:36

Пушистость, ваша программа видимо должна основываться на трех процедурах/функциях:
1. процедура перестановки столбцов
2. функция подсчета количества чисел оканчивающих на 8 в заданном столбце
3. процедура определения оканчивается ли число на 8.

для упрощения можно ввести дополнительным массив размерности равным колчеству столбцов, где будет хранится количество "нужных" чисел для столбца.

пробуйте. результат потом сюда.
0

Сообщение Гость 24 декабря 2009 в 17:10

teran программа с модулем, я не понимаю как упорядочить столбцы где числа с 8 на конце в двумерном массиве?
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
24 декабря 2009 в 21:18

я не понимаю как упорядочить столбцы где числа с 8 на конце в двумерном массиве

как упорядочить?
ну допустим двумерный массив 5 столбцов и 5 строк.
[code:1]1 2 3 4 8
8 1 1 1 6
18 1 28 38 3
88 1 7 25 3
68 1 58 47 1
[/code:1]
очевидно что в первом столбце 4 нужных элемента, во втором ноль, в 3м - два, в 4м один и в 5м тоже 1.
допустим столбцы надо упорядочить по возрастанию.
то есть надо изменить порядок столбцов чтобы они были с следующем порядке: 2 4 5 3 1 либо 2 5 4 3 1
т.е получить матрицу вида
[code:1]2 4 8 3 1
1 1 6 1 8
1 38 3 28 18
1 25 3 7 88
1 47 1 58 68
[/code:1]
программа с модулем

ну вот функции/процедуры в отдельный модуль и вынести.
0
Чемпион

СообщениеЧемпион RaMon^^ RaMon^^ 0
Оставил 1795 сообщений с 09 дек 2007
ФР: -17331
YIM
25 декабря 2009 в 23:33

как загнать огромное число в массив, ну то есть первый элемент, это последняя цифра числа и т.д ?
0

Сообщение Untitled2134 4 января 2010 в 20:11

Помогите решить задачи первые 5 осилил,а остальные не могу,а без них не видать мне зачета :(
6.дан массив T [20] подсчитайте количество элементов массива которые по модулю меньше 1.
7.дана матрица В (6,7). Сформулировать вектор Т (6). Из средних арифметических элементов в каждой строке.
дз:найти среднее арифметическое неотрицательных элементовмассива {x1,x2,...,xn}. Подсчитать в нем число положительных отрицательных и нулевых элементов.и блок схему к последнему.
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
4 января 2010 в 20:32

Untitled2134, в чем сложность задач то?
как то так наверное
[code:1]program p6;
var t:array[1..20] of real;
i:integer;
count : integer;
begin
randomize;
for i:=1 to 20 do
t[i] := random(10) - 5;

count :=0;
for i:=1 to 20 do begin
if abs(t[i]) < 1 then inc(count);
end;

writeln('result: ',count);
end.[/code:1]

добавлено спустя 5 минут:

[code:1]program p7;
var b:array[1..6,1..7] of real;
t:array[1..6] of real;
i,j:integer;

begin
randomize;
for i:=1 to 6 do begin
for j:=1 to 7 do
b[i,j] := random(100);
end;

fillchar(t,sizeof(t),0);

for i:=1 to 6 do begin
for j:=1 to 7 do t[i] := t[i] + b[i,j];
t[i] :=t[i]/6;
end;

writeln('result: ');
for i:=1 to 6 do writeln(t[i]);
end.[/code:1]
Последний раз редактировалось teran Пн янв 04, 2010 20:43, всего редактировалось 1 раз.
0

Сообщение Untitled2134 4 января 2010 в 20:36

teran, спасибо,я просто не очень разбираюсь в этом
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
4 января 2010 в 20:42

[code:1]program et;
const N = 20;
var t:array[1..N] of real;
i:integer;

avgValue : real;
zeroCount, negCount : integer;


begin
randomize;
for i:=1 to N do begin
t[i] := random(100)-50;
end;

fillchar(t,sizeof(t),0);
negCount := 0;
zeroCount:= 0;

for i:=1 to N do begin
if t[i] < 0 then begin
inc(negCount);
continue;
end;

avgValue := avgvalue + t[i];
if t[i] = 0 then inc(zeroCount);
end;


writeln('result: ');
writeln('avg value: ',avgValue/(N-negCount));
writeln('>0 ', N-negCount - zeroCount);
writeln('=0 ', zeroCount);
writeln('<0 ', negCount);

end.
[/code:1]
0

Сообщение Untitled2134 4 января 2010 в 20:55

некоторые операторы не знакомы, не смог бы ты растолковать их действия?
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
4 января 2010 в 21:32

будучи не наделен телепатическими способностями при рождении не могу угадать какие операторы тебе не знакомы (: так что лучше перечисли требуемые (:

а вобще справку никто не отменял.
0

Сообщение Untitled2134 5 января 2010 в 13:35

да, надо было сразу написать :lol:
вобщем avgValue, zeroCount, negCount это как я понял переменные, их можно заменить латиницей? у меня так по стандарту О_о
then inc(count); это равносильно goto
и fillchar(...) это вывод данных, в моем случае массива
Так?
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
5 января 2010 в 13:56

Untitled2134 писал(а):
вобщем avgValue, zeroCount, negCount это как я понял переменные, их можно заменить латиницей?

кхм (: а тут не латиницей чтоли? (: или ты про транслит? (: впрочем менять названия переменных можешь как хочешь (:

у меня так по стандарту О_о
((: собственному? (:


then inc(count); это равносильно goto

в любом наверное языке есть условные операторы типа IF
для паскаля это
[code:1] if БУЛЕВОЕ_УСЛОВИЕ then begin
код_в_случае_выполнения_условия;
end
else begin
_код_если_условие_не_выполнено;
end;[/code:1]
дак вот
[code:1]if abs(t[i]) < 1 then [/code:1]
дословно обозначало
[code:1]ЕСЛИ модуль t[i] строго меньше 1 тогда [/code:1]
далее следовал вызов процедуры inc(count) которая увеличивает аргумент count на 1 [inc=increment=увеличение]

так что никаких переходов типа goto здесь нет.


и fillchar(...) это вывод данных, в моем случае массива
Так?

не находите немного странным в таком случаем выводить массив прежде чем мы его заполнили какими то данными? (:

fillchar заполняет блок памяти указанной длинны (в данном случае массив t) указанным значением, длина заполняемого блока равна sizeof(t) [sizeof - функция возвращающая размер в байтах] и заполняется он нулями.
0

Сообщение Гость 5 января 2010 в 15:13

''-_- учиться учиться и еще раз учиться :-D

teran

огромное человеческое спасибо)
0

Сообщение rain5555 14 января 2010 в 17:05

Помогите решить plz практические по TP, нужен только листинг программ.
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
14 января 2010 в 17:20

rain5555, неужели для скана условий не нашелось никакого другого нормального сервера? нежели из каких то *беней Казахстана? 20 секунд на загрузку картинки в 500 кб это жестко как то.
imageshack, imgur.com и т.п то куда быстрее будет.

ну дак вот. в студию ваши решения.

зы: в 10й задаче при N>7 будет переполенение.
0

Сообщение rain5555 14 января 2010 в 17:43

Просто я живу в kz ) для меня трафик на этот сервак бесплатный.
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
14 января 2010 в 17:52

rain5555, даже боюсь спрашивать как на карельский сервер судьба закинула (:

ну дак вот. надо полагать вы пробовали решить задачи самостоятельно и у вас видимо не получилось, после чего обратились за помощью сюда? (: если так то ваши решения оформленные с помощью тега [code] выкладывайте :)
0
Скромный

СообщениеСкромный ViLPy ViLPy 0
Оставил 187 сообщений с 12 мар 2007
ФР: 9925
14 января 2010 в 18:10


зы: в 10й задаче при N>7 будет переполенение.

Так с использованием длинной арифметики делайте :-D
0
Легенда форума

СообщениеЛегенда форума teran teran 112
Оставил 6689 сообщений с 23 янв 2004
ФР: 149360
14 января 2010 в 22:24

судя по остальным 18ти задачм до длинной арифметики там как до луны (:
0

Сообщение Pass 13 февраля 2010 в 00:34

Помогите пожалуйста с решением.
Есть две программы, обе должны выдавать одинаковые значения переменной к.
Подскажите пожалуйста какую формулу нужно ввести вместо многоточия, чтобы получались теже значения переменной к, что и в первой программе.
[code:1]program n1;
uses crt;
var
k,n,i,j: integer;
a:array [1..100,1..100] of integer;
begin
clrscr;
readln(n);
for i:=1 to 2*n do
for j:=1 to 2*n do
a[i,j]:=0;
for i:=1 to n do
for j:=i to 2*i do
begin
a[i,j]:=a[i,j]+1;
a[j,i]:=a[j,i]-1;
end;
k:=0;
for i:=1 to 2*n do
for j:=1 to n do
if a[i,j] = 0 then k:=k+1;
writeln;
writeln(k);
readkey;
end.[/code:1]
[code:1]program n2;
uses crt;
var
n: integer;
k:real;
begin
readln(n);
if n mod 2 = 0 then
k:= 2*n*n - n*(3*n+2)/4
else
k:=..........;
writeln(k);
readkey;
end.[/code:1]
0
Ветеран

СообщениеВетеран dRk. dRk. 0
Оставил 4813 сообщений с 30 июн 2007
ФР: -293
WWW
13 февраля 2010 в 00:57

Pass, 2*n*n - (n+1)(3*(n-1)+2)/4
0

Сообщение ssssspray 2 марта 2010 в 17:37

Здравствуйте, подскажите пожалуйста идею решения такой задачи: на плоскости дано n точек (х,у), выяснить существуют ли квадраты с вершинами в этих точках.
Пример:
Вход:
(0,0) (4,5) (0,3) (6,8 ) (10,0) (3,0) (0,8 ) (0,3) (8,8 ) (3,3)
Выход:
Существует. (0,0) (0,3) (3,0) (3,3)
0
Гуру

СообщениеГуру Portvein Portvein 0
Оставил 931 сообщений с 13 дек 2006
ФР: 26787
3 марта 2010 в 01:16

Забавная задача, я бы воспользовался рекурсией, но возможно и вложенными циклами можно обойтись =)

добавлено спустя 7 часов 22 минуты:

Вроде бы работает :-D
[code:1]
program squares;

uses crt;

type dot=record
x,y:integer;
end;

function issquare(p1,p2,p3,p4:dot):boolean;
var b: boolean; a1,a2,b1,b2,c1,c2:dot;
begin

a1.x:=p3.x-p1.x; a1.y:=p3.y-p1.y;
a2.x:=p4.x-p2.x; a2.y:=p4.y-p2.y;

b1.x:=p2.x-p1.x; b1.y:=p2.y-p1.y;
b2.x:=p4.x-p3.x; b2.y:=p4.y-p3.y;

c1.x:=p4.x-p1.x; c1.y:=p4.y-p1.y;
c1.x:=p3.x-p2.x; c2.y:=p3.y-p2.y;

b:=false;

if(a1.x*a2.x+a1.y*a2.y = 0)and((a1.x*a1.x+a1.y*a1.y)=(a2.x*a2.x+a2.y*a2.y))
then b:=true;

if(b1.x*b2.x+b1.y*b2.y = 0)and((b1.x*b1.x+b1.y*b1.y)=(b2.x*b2.x+b2.y*b2.y))
then b:=true;

if(c1.x*c2.x+c1.y*c2.y = 0)and((c1.x*c1.x+c1.y*c1.y)=(c2.x*c2.x+c2.y*c2.y))
then b:=true;

issquare := b;

end;

procedure find4ug(x:array of dot; cnt:integer);
var i,j,k,m:integer;
begin
for i:=1 to cnt-3 do
for j:=i+1 to cnt-2 do
for k:=j+1 to cnt-1 do
for m:=k+1 to cnt do
begin
if issquare(x[i],x[j],x[k],x[m]) then
begin
write('(',x[i].x,', ',x[i].y,') (',x[j].x,', ',x[j].y,')');
writeln(' (',x[k].x,', ',x[k].y,') (',x[m].x,', ',x[m].y,')');
end;
end;
end;


var a:array[1..100] of dot;
i,n:integer;

begin
clrscr;
n:=0;
while n<4 do
begin
writeln('Input n(>=4): ');
readln(n);
end;

for i:=1 to n do
begin
writeln('dot #',i,': ');
write('x = ');
readln(a[i].x);
write('y = ');
readln(a[i].y);
end;
clrscr;
for i:=1 to n do
write('(',a[i].x,', ',a[i].y,') ');
writeln;
writeln('squares: ');
find4ug(a,n);
writeln('Press any key to exit...');
repeat until keypressed;
end.
[/code:1]
0



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3