Pascal, Динамические структуры данных.
10-11 класс
|
Матрица, размещена в динамической памяти
uses Crt;
type
MCo = array[1..200] of longint; {строка массива - до 200 столбцов}
DV = ^MCo; {указатель на строку массива}
MR = array[1..150] of DV; {массив указателей на строки}
var
a: MR; {Создается массив указателей на строки}
n,m:longint;
procedure ShiftCycle(row: longint; k: longint);
var
i, j, e: longint;
begin
for i := 1 to k do
begin
e := a[row]^[m];
for j := m - 1 downto 1 do a[row]^[j + 1] := a[row]^[j];
a[row]^[1] := e
end;
end;
var
i, j, e: longint;
begin
ClrScr;
writeln('Введите число строк и столбцов массива');
readln(n,m);
writeln('Введите элементы массива');
for i := 1 to n do
begin
getmem(a[i], m * sizeof(longint)); {Фактическое выделение памяти под i-ю строку строку массива}
writeln('Строка ',i,':');
for j := 1 to m do read(a[i]^[j])
end;
writeln;
for i := 1 to n do
begin
ShiftCycle(i, i);
for j := 1 to m do write(a[i]^[j]:4);
writeln;
freemem(a[i], m * sizeof(longint)) {Освобождение памяти из-под i-й строки массива}
end
end.
Тестовый прогон:
Введите число строк и столбцов массива
4 5
Введите элементы массива
Строка 1:
1 2 3 4 5
Строка 2:
6 7 8 9 10
Строка 3:
11 12 13 14 15
Строка 4:
16 17 18 19 20
5 1 2 3 4
9 10 6 7 8
13 14 15 11 12
17 18 19 20 16
Собственно, в чём суть? Достать некий массив из опер. памяти или создать новый?
Комментарий удален
Комментарий удален
Другие вопросы из категории
1)Сколько информации содержит в себе сообщение о том, что на поле 4х4 клетки одна из клеток закрашена?
2) В книге 512 страниц. Сколько информации несет сообщение о том, что закладка лежит на какой-либо странице?
Задание выполняется с помощью среды Delphi: Составить программу, позволяющую получать словесное описание школьных отметок (1-плохо, 2 - неудовлетворительно, 3-удовлетворительно, 4-хорошо, 5-отлично).
56(8)+100011(2)-49(10)
Читайте также
набора «А, В, Е, К, М, Н, О, Р, С, Т, У, Х»), номер (трехзначное число от 000 до 999). При создании базы данных автомобильных номеров Петя решил хранить каждый номер в виде массива из 8 символов (два символа на номер региона, три символа на серию и три символа на номер), кодируя каждый символ с помощью однобайтной кодировки ASCII. Вася решил уменьшить объем хранимых данных и принял решение хранить каждый номер в виде трех чисел – одно число для номера региона, одно число для серии (представив все возможные серии в виде натуральных чисел) и одно число для номера. Каждое число Вася будет хранить отдельно, используя для его кодирования минимально возможное число бит. На сколько бит уменьшится объем памяти, необходимый для хранения одного произвольного номера, в варианте кодирования Васи по сравнению с вариантом кодирования Пети? В ответе укажите целое число.
данных из файла в динамический массив структур. Напишите функцию поиска в динамическом массиве структур количества школьников, двенадцати лет, обучающихся в классах «Б».
А) компьютер – данные;
Б) компьютер - его функциональная схема;
В) компьютер – программа;
Г) компьютер – алгоритм.
2. Какая модель компьютера является формальной (полученной в результате формализации)?
А) техническое описание компьютера;
Б) фотография компьютера;
В) логическая схема компьютера;
Г) рисунок компьютера.
3. Информационной моделью, которая имеет табличную структуру является ...
А) файловая система компьютера;
Б) таблица Менделеева;
В) генеалогическое дерево семьи;
Г) функциональная схема компьютера.
4. Какая модель является динамической (описывающей изменение состояния объекта)?
А) формула химического соединения;
Б) формула закона Ома;
В) формула химической реакции;
Г) закон Всемирного тяготения.
берут тех, чей рост не менее 180 см.Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит минимальный рост игрока баскетбольной команды. Гарантируется, что хотя бы один ученик играет в баскетбольной команде. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.
Код Pascal
cоnst N = 30;
var A: array[1..N] of integer;
i, x, y: integer;
s: real;
begin
for i:=1 to N do readln(A);
...
end.
Дан вектор из 25 элементов. Найти минимальное значение. Записать на языке Pascal и построить алгоритм.