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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2009, 12:24   #1
Niero
Новичок
Джуниор
 
Регистрация: 06.12.2009
Сообщений: 6
Сообщение Подпрограммы(Pascal)

Подпрограммы.

1) Вычисление суммы положительных элементов матрицы.
2) Умножить матрицы на скаляр.
Niero вне форума Ответить с цитированием
Старый 06.12.2009, 13:08   #2
QuadroX
323787261
Пользователь
 
Аватар для QuadroX
 
Регистрация: 19.12.2008
Сообщений: 49
По умолчанию

Код:
program Matrix;
type
  TMatrix = array of array of Integer;
function ReadMatrix: TMatrix;
var
  N, M, I, J: Integer;
begin
  WriteLn('Введите размер матрицы NxM через пробел.');
  ReadLn(N, M);
  SetLength(Result, N, M);
  for I := 0 to High(Result) do
    for J := 0 to High(Result) do begin
      Write('a[', I, ',', J, ']=');
      ReadLn(Result[I,J]);
    end;
end;
procedure WriteMatrix(Matrix: TMatrix);
var
  I, J: Integer;
begin
WriteLn;
  for I := 0 to High(Matrix) do begin
    for J := 0 to High(Matrix) do
      Write(Matrix[I,J], ' ');
  WriteLn;
  end;
end;
function SumPol(Matrix: TMatrix): Integer;
var
  I, J: Integer;
begin
  Result := 0;
  for I := 0 to High(Matrix) do
    for J := 0 to High(Matrix) do
      if Matrix[I,J] > 0 then Result := Result + Matrix[I,J];
end;
procedure UmnNaSkalar(var Matrix: TMatrix; P: Integer);
var
  I, J: Integer;
begin
  for I := 0 to High(Matrix) do
    for J := 0 to High(Matrix) do
      Matrix[I,J] := Matrix[I,J] * P;
end;
var
  Matrica: TMatrix;
  P, Sum: Integer;
begin
  Matrica := ReadMatrix;
  WriteMatrix(Matrica);
  WriteLn;
  Write('Введите скаляр P = ');
  ReadLn(P);
  Sum := SumPol(Matrica);
  UmnNaSkalar(Matrica, P);
  WriteMatrix(Matrica);
  WriteLn;
  Write('Сумма положительных Sum = ', Sum);
end.
ICQ: 323787261
Email: pschegolevatykh@gmail.com

Последний раз редактировалось QuadroX; 06.12.2009 в 13:11.
QuadroX вне форума Ответить с цитированием
Старый 06.12.2009, 13:26   #3
Niero
Новичок
Джуниор
 
Регистрация: 06.12.2009
Сообщений: 6
По умолчанию

Это жэ по дэльфи?
Niero вне форума Ответить с цитированием
Старый 06.12.2009, 13:28   #4
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
Это жэ по дэльфи?
нет! просто массив динамический)))
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 06.12.2009, 13:30   #5
Niero
Новичок
Джуниор
 
Регистрация: 06.12.2009
Сообщений: 6
По умолчанию

Ано у меня в паскале никампилицо((( выдаёт несоответствие TMatrix = array of array of Integer; и насколько я помню... TMatrix это элемент борланд дэльфи
Niero вне форума Ответить с цитированием
Старый 06.12.2009, 16:28   #6
QuadroX
323787261
Пользователь
 
Аватар для QuadroX
 
Регистрация: 19.12.2008
Сообщений: 49
По умолчанию

Писал действительно в Дельфи, но в консоли и соответственно в Паскале должно работать. TMatrix это не элемент Дельфи. Это просто название типа. Оно может быть любым. Почему не компилит у тебя не знаю. Паскаля у меня нет.
ICQ: 323787261
Email: pschegolevatykh@gmail.com
QuadroX вне форума Ответить с цитированием
Старый 06.12.2009, 16:46   #7
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

SetLength в паскале не прокатит... поэтому и ошибка... сделай лучше размерность фиксированной. А если динамическая то это ППЦ в паскале
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 06.12.2009, 16:51   #8
Niero
Новичок
Джуниор
 
Регистрация: 06.12.2009
Сообщений: 6
По умолчанию

Помогите исправить... я уже 3 часа пытаюсь понять ошибки и до меня не доходит
Niero вне форума Ответить с цитированием
Старый 06.12.2009, 16:53   #9
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Цитата:
Сообщение от Niero Посмотреть сообщение
Ано у меня в паскале никампилицо((( выдаёт несоответствие TMatrix = array of array of Integer; и насколько я помню... TMatrix это элемент борланд дэльфи
Исправь просто динамические массивы на простые.

Код:
program Matrix;
type
  TMatrix = array [1..20,1..20] of Integer;
function ReadMatrix: TMatrix;
var
  N, M, I, J: Integer;
begin
  WriteLn('Введите размер матрицы NxM через пробел.');
  ReadLn(N, M);
  for I := 1 to n do
    for J := 1 to m do begin
Поправил тебе часть остальное исправляй сам по подобию.

Последний раз редактировалось dr.Chas; 06.12.2009 в 16:56.
dr.Chas вне форума Ответить с цитированием
Старый 06.12.2009, 16:54   #10
Niero
Новичок
Джуниор
 
Регистрация: 06.12.2009
Сообщений: 6
По умолчанию

Цитата:
Исправь просто динамические массивы на простые.
дак это... ниумею!(
Niero вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal - Циклы и подпрограммы Бурундук Помощь студентам 18 18.10.2009 19:47
Подпрограммы Nightt Помощь студентам 1 25.06.2009 15:01
Подпрограммы в C# Doublefaced Помощь студентам 3 18.06.2009 21:19
[Pascal] Функции и процедуры(подпрограммы) Рамик Помощь студентам 2 23.03.2009 17:00