Страница 5 из 6
Re: Задача по Turbo Pascal
Добавлено: 08 янв 2008, 19:31
Temka
Помогите решить задачку пожалуйсто кому не тяжело буду очень благодарен!!!
1.Масса 8 литров бензина 5,68 кг. Цистерна имеет объем 500 м3. Хватит ли ее, чтобы вместить А т бензина?

Re: Задача по Turbo Pascal
Добавлено: 25 мар 2008, 20:02
Настенька
Уважаемые!На вас надежда!помогите маленькой девочке написать программку с помощью Паскаля! Вот условие :Написать программу,которая проверяет,является ли введенная с клавиатуры квадратная матрица магическим квадратом.
Магическим квадратом называется матрица,сумма элементов которой в каждой строке,в каждом столюце и диагонали одинакова.
294 13 8 12 1
753 2 11 7 14
618 3 10 6 15
16 5 9 4
Re: Задача по Turbo Pascal
Добавлено: 25 мар 2008, 20:02
Настенька
блин ,квадраты не получились ))
Re: Задача по Turbo Pascal
Добавлено: 25 мар 2008, 22:25
drummer
Код: Выделить всё
var a:array[1..100,1..100] of longint;
i,j,s1,s2,s,n:longint;
procedure input;
begin
readln(n);
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
end;
procedure init;
begin
s:=0;s1:=0;s2:=0;
end;
procedure output(s:string);
begin
writeln(s);
readln;
halt;
end;
procedure solve;
begin
for i:=1 to n do
inc(s,a[i,i]);
for i:=1 to n do
inc(s1,a[i,n-i+1]);
if s1<>s then output('NO!');
for i:=1 to n do
begin
s1:=0;s2:=0;
for j:=1 to n do
begin
inc(s1,a[i,j]);
inc(s2,a[j,i]);
end;
if (s<>s1)or(s<>s2) then output('NO!');
end;
end;
begin
input;
init;
solve;
output('YES!');
end.
Re: Задача по Turbo Pascal
Добавлено: 26 мар 2008, 11:25
Хыиуду
Temka писал(а):Помогите решить задачку пожалуйсто кому не тяжело буду очень благодарен!!!
1.Масса 8 литров бензина 5,68 кг. Цистерна имеет объем 500 м3. Хватит ли ее, чтобы вместить А т бензина?
writeln(A/5.68*8>=500)
Вот такое простое решение - а это уже мой тысячный пост на форуме

Re: Задача по Turbo Pascal
Добавлено: 28 мар 2008, 16:06
Настенька
Скажите пожалуйста а вот эта задача что вы написали это что за задача? не моя ли ??
Re: Задача по Turbo Pascal
Добавлено: 29 мар 2008, 10:21
Serge_Bliznykov
Настенька, а в чём собственно проблема?
ну делаете несколько циклов: сумма по строчкам, сумма по столбцам и сумма по диагоналям (по двум - главной и побочной).
Вначале считаете сумму по чему-то одному (ну, например, по главной диагонале.
или по первой строчке) запоминаете эту полученную сумму.
и потом в цикле проверяет, если сумма подсчитанная не совпала с первой - сразу выход - квадрат НЕ МАГИЧЕСКИЙ, иначе, если все циклы/проверки прошли - то магический. Кстати, это очень удобно оформить в виде функции, ну,
type MyArray = array[1..N] of integer;
что-то вроде function is_magican_square(A:MyArray):boolean;
в чём у вас сложность то?!?!
Re: Задача по Turbo Pascal
Добавлено: 03 апр 2008, 09:35
Настенька
Serge_Bliznykov писал(а):Настенька, а в чём собственно проблема?
ну делаете несколько циклов: сумма по строчкам, сумма по столбцам и сумма по диагоналям (по двум - главной и побочной).
Вначале считаете сумму по чему-то одному (ну, например, по главной диагонале.
или по первой строчке) запоминаете эту полученную сумму.
и потом в цикле проверяет, если сумма подсчитанная не совпала с первой - сразу выход - квадрат НЕ МАГИЧЕСКИЙ, иначе, если все циклы/проверки прошли - то магический. Кстати, это очень удобно оформить в виде функции, ну,
type MyArray = array[1..N] of integer;
что-то вроде function is_magican_square(A:MyArray):boolean;
в чём у вас сложность то?!?!
Сложность в том что я в этом деле полный ноль...вот и ищу помощи у опятных людей
Re: Задача по Turbo Pascal
Добавлено: 03 апр 2008, 10:47
Хыиуду
Сумма элементов i-й строки
for j:=1 to 5 do sum:=sum+a[i,j]
Сумма элементов j-го столбца
for i:=1 to 5 do sum:=sum+a[i,j]
Сумма элементов главной диагонали
for i:=1 to 5 do sum:=sum+a[i,i]
Сумма элементов побочной диагонали
for i:=1 to 5 do sum:=sum+a[i,6-i]
Считайте, сравнивайте
Re: Задача по Turbo Pascal
Добавлено: 11 окт 2008, 10:06
Desos777
Помогите пожалуйста,у меня две проблемы...точнее задачи,если не сложно,через for
y= 0,x<=0
sqr(x)-x, 0<x<=1
sqr(x)-sin(pi)x*x-1
и
y= x*x, x>-5
x/2, x<=-5
Заранее благодарен