Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2009, 23:17   #1
moto74
 
Регистрация: 03.04.2009
Сообщений: 7
Смущение Заданы две матрицы A3х3 и B4х4. Построить таблицу функций y=cx2+d при x є [0; 1] с шагом ∆х=0,1

1. Заданы две матрицы A3х3 и B4х4. Построить таблицу функций y=cx2+d при x є [0; 1] с шагом ∆х=0,1, где с-след матрицы А, а d- след матрицы В. Вычисление следа матрицы оформить в виде подпрограммы – процедуры.
2. Дана строка символов, среди которых есть одна скрывающаяся скобка. Вывести на экран все символы, расположенные внутри этих скобок.
3. Вычислить Z=(S1+S2)/2, где S1-сумма положительных элементов массива X(18);S2-сумма отрицательных элементов массива Y(15). Обе суммы вычислить в одной подпрограмме-функции.
moto74 вне форума Ответить с цитированием
Старый 03.04.2009, 23:30   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Ваши наработки где?
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 03.04.2009, 23:32   #3
moto74
 
Регистрация: 03.04.2009
Сообщений: 7
По умолчанию

1. След матрицы (NxN) - это сумма элементов главной диагонали.
Следовательно в цикле от 1 то N вычисляем его.
Function Sled(M:array...):real;
var i:integer;
s:real;
Begin
s:=0;
for i:=1 to n do
s:=s+M[i,i];
End;
moto74 вне форума Ответить с цитированием
Старый 03.04.2009, 23:44   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Немножко можно подправить

Код:
const n=10;
var x:array[1..n,1..n] of real;

Function Sled(M:array[1..n,1..n] of real;y:integer):real;
var i:integer;
    s:real;
    
Begin
s:=0;
for i:=1 to y do
s:=s+M[i,i];
Sled:=s;
End;

Begin
//////
end.
Пробуйте дальше
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 04.04.2009 в 00:10.
alex_fcsm вне форума Ответить с цитированием
Старый 03.04.2009, 23:46   #5
moto74
 
Регистрация: 03.04.2009
Сообщений: 7
По умолчанию

А как насчёт двух других, СРОЧНО НАДО!!! PLEASE))
moto74 вне форума Ответить с цитированием
Старый 03.04.2009, 23:48   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Эти все задачи решаются за полчаса. Просто подумайте. Если не получается выкладывайте код - подтолкнем в нужном направлении.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 03.04.2009, 23:49   #7
moto74
 
Регистрация: 03.04.2009
Сообщений: 7
По умолчанию

В этом и проблема, Что за код???
moto74 вне форума Ответить с цитированием
Старый 03.04.2009, 23:50   #8
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от moto74 Посмотреть сообщение
В этом и проблема, Что за код???
Решение ВАШЕ показывайте. Чтобы Вы сами что-то сделали, а не просто копипастили, тем более Вам это нужно.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 03.04.2009, 23:59   #9
moto74
 
Регистрация: 03.04.2009
Сообщений: 7
Радость

2.
sum:=0;
for i:=1 to 18
begin
if x[i]>0 then
sum:=sum+x;
end;

sum1:=0;
for i:=1 to 15
begin
if y[i]<0 then
sum1:=sum1+x;
end;

z:=sum+sum1/2;
moto74 вне форума Ответить с цитированием
Старый 04.04.2009, 00:08   #10
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от moto74 Посмотреть сообщение
2.
sum:=0;
for i:=1 to 18
begin
if x[i]>0 then
sum:=sum+x;
end;

sum1:=0;
for i:=1 to 15
begin
if y[i]<0 then
sum1:=sum1+x;
end;

z:=sum+sum1/2;
Вы хотите сказать что это будет компилироваться?

Код:
const n=20;

var x,y:array[1..n] of real;
    s1,s2:real;

procedure Count(x,y:array[1..n] of real;a,b:integer;var m1,m2:real);
var i:integer;
begin
m1:=0;
for i:=1 to a do
if x[i]>0 then
m1:=m1+x[i];
s2:=0;
for i:=1 to b do
if y[i]<0 then
m2:=m2+y[i];
end;

begin
Count(x,y,18,15,s1,s2);
end.
Осталось проинициализировать массивы и выполнить сложение(s1+s2)/2
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типы аргументов при перегрузке функций Arkuz Общие вопросы C/C++ 4 24.02.2009 01:16
Две задачки на матрицы и одна на сумму бесконечного сходящегося ряда... Кто сможет помочь? GorNikSar Паскаль, Turbo Pascal, PascalABC.NET 10 13.01.2009 04:59
Занесение Данных в таблицу при помощи Query Avalonix БД в Delphi 9 29.05.2008 20:13
как разбить таблицу при копировании StasSv Microsoft Office Excel 3 11.02.2008 10:23