Текст состоит из 16 страниц на каждой странице 32 строки по 64 символа при этом используется 64 символьный алфавит определите объём памяти необходимой для хранения текста.
ВАЖНО! Прикрепленные файлы на самом деле не текстовые, а двоичные, но таковые данная система не позволяет прикрепить. Поэтому не стоит пытаться эти файлы читать.
Для работы программы следует переименовать файлы в 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.
10 Кбайт
Решение: 2^i=16 i=4 бита на символ
Объем=Все символы на вес одного символа
10*32*64*4 и делим на 8*1024(чтобы перевести в Кбайты)