Помощь - Поиск - Пользователи - Календарь
Полная версия: четверки двумерного массива и ещё кое что
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Gooru
срочно надо решение такой задачки:

Цитата
Дан двумерный массив А, каждый элемент которого равен 0, 1, 5 или 11. Подсчитать в нем количество четверок (Аj,k, Аj,k+1, Аj+1,k, Аj+1,k+1) в каждой из которых все элементы различные.


Помогите чем можете, у меня уже мозги кипят, и вот ещё одна задачка до решения которой немогу додуматься:

Цитата
Даны числа X, Y, Z, T – длины сторон четырехугольника. Вычислить его площадь, если угол между сторонами длиной X и Y – прямой.
Guest
Цитата
Даны числа X, Y, Z, T – длины сторон четырехугольника. Вычислить его площадь, если угол между сторонами длиной X и Y – прямой.

В чем проблема?
Площадь четырехугольника складывается из суммы площади прямоугольного треугольника (вычисляется элементарно, не так ли? s := X*Y/2) и площади второго треугольника (со сторонами Z, T и Sqrt(Sqr(X)+Sqr(Y))), которая вычисляется по формуле Герона (через полупериметр)...
volvo
Ну, а первая вот так решается:
const
size = 10;
var
a: array[1 .. size, 1 .. size] of integer;
count: integer;

begin
{ ... }
count := 0;
for j := 2 to pred(size) do
for k := 2 to pred(size) do
if A[j,k] + A[j,k+1] + A[j+1,k] + A[j+1,k+1] = 17
then inc(count);
{ ... }
end.

Gooru
Спасибо, а вот такую не подскажите как решать:

Цитата
Дана строка, содержащая произвольный текст. Проверить, правильно ли в нем расставлены круглые скобки (т.е. находится ли правее каждой открывающей скобки закрывающая, и левее закрывающей – открывающая).
volvo
Используй поиск по форуму - это уже решалось...
НарКот
Код

write('Введите символьную строку  ',st); read(st);
s:=0; d:=0;
for i:=1 to length(st) do begin
if st[i] = '(' then  inc(s);  
if st[i] = ')' then  inc(d);  
end;
if (s=d) and (s<>0) and (d<>0) then
writeln ('Число открывающихся и закрывающихся скобок одинаково.');
if (s=0) and (d=0) then writeln('Скобок нет');
if s<>d then
writeln ('Число открывающихся и закрывающихся скобок неодинаково');
s:=s; d:=d;
volvo
Наркот,
зачем приводить 8-й раз решение этого задания? Только в FAQ-е есть 4 способа !!! Неужели до такой степени лень нажать на кнопку "Поиск"?
mlc
Цитата(НарКот @ 24.07.05 13:42)
Код

...
writeln ('Число открывающихся и закрывающихся скобок одинаково.');
writeln ('Число открывающихся и закрывающихся скобок неодинаково');
..



Фигню ты какую то написал, а если строка будет = ")10+6(", тоже корректная
запись ? smile.gif
Guest
Цитата(Guest @ 23.07.05 20:39)
В чем проблема?
Площадь четырехугольника складывается из суммы площади прямоугольного треугольника (вычисляется элементарно, не так ли? s := X*Y/2) и площади второго треугольника (со сторонами Z, T и Sqrt(Sqr(X)+Sqr(Y))), которая вычисляется по формуле Герона (через полупериметр)...


хм....а поподробней можно?
volvo
Геометрия - 6-ой класс...
{ a, b, c - длины сторон треугольника }
Function S(a, b, c: Real): Real;
Var p: Real;
begin
{ Площадь по теореме Герона }
p := (a+b+c) / 2; { полупериметр }
S := Sqrt(p*( p-a )*( p-b )*( p-c ));
end;


Кстати, поиск по форуму выдает по крайней мере 2 реализации этой функции. Эта кнопка НЕ ДЛЯ КРАСОТЫ !!! angry.gif Сколько можно одно и то же решать?
Gooru
Всем за всё спасибо, тему думаю можно закрывать если хотите
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.