1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
type TWorkers = Record LastName: string[30]; {фамилия} Born: integer; {год рождения} Experience: integer; {стаж} end; var i, j, nx, n, g: integer; TWorkersList: array[1..20, 1..20] of TWorkers; {=======================================================================================================} procedure Merge(var TWorkersList, first, last: integer); var middle, start, final, h: integer; mas: array[1..20, 1..20] of TWorkers; begin middle := (first + last) div 2; start := first; final := middle + 1; for h := first to last do if (start <= middle) and ((final > last) or (TWorkersList[start].Born > TWorkersList[final].Born)) then begin mas[h] := TWorkersList[start]; inc(start); end else begin mas[h] := TWorkersList[final]; inc(final); end; for h := first to last do TWorkersList[h] := mas[h]; end; procedure MergeSort(var TWorkersList, first, last: integer); begin if first < last then begin MergeSort(TWorkersList, first, (first + last) div 2); MergeSort(TWorkersList, (first + last) div 2 + 1, last); Merge(TWorkersList, first, last); end; end; {==========================================================================================================} begin write('Введите размерность квадратной матрицы: ');readln(nx); writeln('=============================================='); for i := 1 to nx do begin for j := 1 to nx do begin write('Фамилия: ');readln(TWorkersList[i, j].LastName); write('Год рождения: ');readln(TWorkersList[i, j].Born); write('Стаж: ');readln(TWorkersList[i, j].Experience); writeln('==========================================='); end; end; writeln('============Исходная матрица============='); for i := 1 to nx do begin for j := 1 to nx do begin writeln('Фамилия: ', TWorkersList[i, j].LastName, ' ', TWorkersList[i, j].Born, ' г.р', ' ', 'Стаж: ', TWorkersList[i, j].Experience, ' лет'); end; end; writeln('========================================'); for j := 1 to nx do MergeSort(TWorkersList, 1, n); end. |
Паскаль
выдает ошибку в процедуре : Нет индексного свойства по умолчанию для типа integer.
Помогите разобраться.
Procedure input (var n, m : integer ; var a : array of integer) ; var i, j : integer ;
begin clrscr ; write(‘input quantity of rows ‘) ; readln(n) ; write(‘input quantity of columns ‘) ; readln(m) ; for i : = 1 to n do begin for j : = 1 to m do begin write(‘ a[‘, i, ‘, ‘, j, ‘] = ‘) ; read (a[i][j]) ; writeln ; end ;
end ; end ;
Вы находитесь на странице вопроса Паскальвыдает ошибку в процедуре : Нет индексного свойства по умолчанию для типа integer? из категории Информатика.
Уровень сложности вопроса рассчитан на учащихся 10 – 11 классов. На странице
можно узнать правильный ответ, сверить его со своим вариантом и обсудить
возможные версии с другими пользователями сайта посредством обратной связи.
Если ответ вызывает сомнения или покажется вам неполным, для проверки
найдите ответы на аналогичные вопросы по теме в этой же категории, или создайте
новый вопрос, используя ключевые слова: введите вопрос в поисковую строку,
нажав кнопку в верхней части страницы.
Вы массив объявили с именем ar, а пытаетесь его использовать с именем а
Исправленный код выглядит так:
var
ar: array[1..10]of integer;
a, c, i, n: integer;
begin
read(n);
for i := 1 to n do
begin
read(ar[i]);
if i = 1 then
c := ar[i];
if ar[i] > c then
c := ar[i];
end;
writeln(c);
end.
Вариант №2
program max;
const n = 10;
var
ar: array[1..10]of integer;
a, c, i: integer;
begin
for i := 1 to n do
begin
read(ar[i]);
if i = 1 then
c := ar[i];
if ar[i] > c then
c := ar[i];
end;
writeln(c);
end.
Паскаль выдает ошибку в процедуре: Нет индексного свойства по умолчанию для типа integer. Помогите разобраться. procedure input (var n,m:integer; var a:array of integer); var i,j:integer; begin clrscr; write(‘input quanti…
Паскаль
выдает ошибку в процедуре: Нет индексного свойства по умолчанию для типа integer. Помогите разобраться.
procedure input (var n,m:integer; var a:array of integer);
var i,j:integer;
begin
clrscr;
write(‘input quantity of rows ‘);readln(n);
write(‘input quantity of columns ‘);readln(m);
for i:=1 to n do begin
for j:=1 to m do begin
write(‘ a[‘,i,’,’,j,’]=’);
read (a[i][j]);
writeln; end;
end;end;
Автор: Гость
Ответ(ы) на вопрос:
Гость:
Собака зарыта в строчках
var a:array of integer
…
read(a[i][j])
Смысл в том, что a, похоже, объявлен как одномерный массив, а по твоей задумке он двумерный. Поставь там инициализацию двумерных массивов.
(В PascalABC.Net, если ты тоже в этой среде и этом диалекте, то там я ручаюсь, что там правильно var a:array [,] of integer. Хотя допускаю, что везде одинаково).