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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2011, 14:33   #11
sanyok_amd
 
Регистрация: 19.04.2011
Сообщений: 8
По умолчанию

Вот мой код, компилятор постоянно выдаёт ошибку. В чём моя ошибка?
----------------------------------------------------------------------------
[Pascal Error] Proga4.dpr(73): E2010 Incompatible types: 'E' and 'dynamic array'

[Pascal Error] Proga4.dpr(74): E2010 Incompatible types: 'E' and 'dynamic array'
----------------------------------------------------------------------------

program Proga4;

{$APPTYPE CONSOLE}
{Задание 4

Вычислить сумму элементов каждой из матриц А(15,15) и В(30,30) без учета элементов главной диагонали. Задачу решить с использованием подпрограммы. }


{$APPTYPE CONSOLE}
uses
SysUtils,
Russian;

const
n=15; //Число строк и столбцов матрицы А.
m=30; //Число строк и столбцов матрицы В.
type
E = array of array of integer;
var
A,B:array of array of integer; //Массивы для хранения матриц.
i, j : integer;




function summa(D : E; p:integer ):integer; //Считает сумму элементов матрицы C без учёта главной диагонали

var
i, j : integer;
begin
SetLength(D, p,p);

Result:=0; //Обнуляем сумму
for i:=0 to High(D) do //Цикл по строкам
begin
for j:=0 to High(D[0]) do //Проходим в цикле по элементам строки
begin
if i<>j then //Исключаем главную диагональ
Result:=Result+D[i,j]; //Суммируем элеметы матрицы
end;
end;
D:=nil;
end;

begin // Начало основной программы.
SetLength(A,n,n);
SetLength(B,m,m);
randomize;

writeln (Rus(' Исходная матрица A'));
for i:=0 to High(A) do //Создание исходной матрицы А.
begin
for j:=0 to High(A[0]) do
begin
A[i,j]:=25-Random(50);
Write (A[i,j]:5);
end;
WriteLn;
end;

writeln (Rus(' Исходная матрица B'));
for i:=0 to High(B) do //Создание исходной матрицы B.
begin
for j:=0 to High(B[0]) do
begin
B[i,j]:=25-Random(50);
Write (B[i,j]:5);
end;
WriteLn;
end;


Writeln (summa(A,n));
Writeln (summa(B,m));

A:=nil;
B:=nil;
Writeln(' press Enter for exit, please...');
readln;
end.
sanyok_amd вне форума Ответить с цитированием
Старый 20.04.2011, 15:39   #12
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
type
E = array of array of integer;
var
A,B:E; //Массивы для хранения матриц.
i, j : integer;
Вот так должно работать
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 20.04.2011, 21:14   #13
sanyok_amd
 
Регистрация: 19.04.2011
Сообщений: 8
По умолчанию

Спасибо вам огромное, а то я уже отчаялся) Премного благодарен.
sanyok_amd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерные массивы 1Dima Помощь студентам 2 27.03.2011 22:01
Си Двумерные массивы Денни Помощь студентам 1 04.07.2010 22:21
Двумерные массивы.... :( Pavel_Ghost Помощь студентам 2 29.05.2010 05:56
Двумерные массивы V@liK Помощь студентам 9 04.02.2010 10:48
Массивы двумерные Nika_D Помощь студентам 3 19.01.2008 23:45