Если будет ошибка на строчке: write('Введите A[' + IntToStr(i) + ',' + IntToStr(j) + ',' + IntToStr(k) + '] = '); можешь просто убрать ее. Она может не работать из за разных версий Pascal-я, т.к. не везде есть IntToStr.
var A: array [1..2,1..2,1..2] of longint; i, j, k: byte; sum: longint; begin for i := 1 to 2 do for j := 1 to 2 do for k := 1 to 2 do begin write('Введите A[' + IntToStr(i) + ',' + IntToStr(j) + ',' + IntToStr(k) + '] = '); ReadLn(A[i, j, k]); end; sum := 0;
for i := 1 to 2 do for j := 1 to 2 do for k := 1 to 2 do sum := sum + A[i, j, k];
writeln('Сумма всех элементов трехмерного массива = ', sum); readln; end.
ВАЖНО! Прикрепленные файлы на самом деле не текстовые, а двоичные, но таковые данная система не позволяет прикрепить. Поэтому не стоит пытаться эти файлы читать.
Для работы программы следует переименовать файлы в file1.bin и file2.bin
begin // считываем файл f1 в массив типа st1 var f1:file of st1; Assign(f1,'file1.bin'); Reset(f1); var n1:=FileSize(f1); var m1:=new st1[n1]; for var i:=0 to n1-1 do Read(f1,m1[i]); f1.Close; // читаем файл f2 и для каждой записи ищем элемент массива // с таким же номером. Если найден - делаем слияние в файл f3 var f2:file of st2; Assign(f2,'file2.bin'); Reset(f2); var buf2:st2; // буфер для чтения f2 var f3:file of st3; Assign(f3,'file3.bin'); Rewrite(f3); var buf3:st3; // буфер для записи f3 while not Eof(f2) do begin Read(f2,buf2); var j:=m1.FindIndex(t->t.номер=buf2.номер); if j<>-1 then begin buf3.номер:=buf2.номер; buf3.рост:=m1[j].рост; buf3.вес:=m1[j].вес; buf3.время_бега:=buf2.время_бега; buf3.кол_подтягиваний:=buf2.кол_подтягиваний; Write(f3,buf3) end end; f2.Close; // посмотрим, что получилось в f3 Seek(f3,0); while not Eof(f3) do begin Read(f3,buf3); Print(buf3) end; f3.Close end.
Пример работы программы (4611,164,64,287,4) (1102,162,63,312,3) (9195,183,71,220,12) (8914,178,62,229,9) (7696,163,67,252,7) (1922,174,77,245,5) (4204,164,60,273,6) (4586,173,68,241,10)
write('Введите A[' + IntToStr(i) + ',' + IntToStr(j) + ',' + IntToStr(k) + '] = ');
можешь просто убрать ее.
Она может не работать из за разных версий Pascal-я, т.к. не везде есть IntToStr.
--------------------------------------------------------------------
var
A: array [1..2,1..2,1..2] of longint;
i, j, k: byte;
sum: longint;
begin
for i := 1 to 2 do
for j := 1 to 2 do
for k := 1 to 2 do
begin
write('Введите A[' + IntToStr(i) + ',' + IntToStr(j) + ',' + IntToStr(k) + '] = ');
ReadLn(A[i, j, k]);
end;
sum := 0;
for i := 1 to 2 do
for j := 1 to 2 do
for k := 1 to 2 do
sum := sum + A[i, j, k];
writeln('Сумма всех элементов трехмерного массива = ', sum);
readln;
end.