Разработать алгоритм и программу вычисления суммы элементов динамического целочисленного массива - Turbo Pascal
Формулировка задачи:
Разработать алгоритм и программу вычисления суммы элементов динамического целочисленного массива, размещенного в динамической памяти. Ввод размерности массива и его элементов осуществить с клавиатуры. На экран выдать исходный массив, его размерность и результат вычислений.
Решение задачи: «Разработать алгоритм и программу вычисления суммы элементов динамического целочисленного массива»
textual
Листинг программы
program pr;
type tArr=array [1..maxInt div sizeof(integer)] of integer;
pArr=^tArr;
var
n: integer;
i: integer;
a: pArr;
sum: integer;
begin
sum := 0;
Write('Input n: ');
ReadLn(n);
GetMem(a, n * sizeof(integer));
for i := 1 to n do
read(a^[i]);
for i := 1 to n do
WriteLn(a^[i]);
for i := 1 to n do
begin
sum := sum + a^[i];
end;
writeln(sum);
FreeMem(a,n * sizeof(integer));
end.
Объяснение кода листинга программы
- Программа начинается с объявления типа данных
tArr, который представляет собой динамический целочисленный массив. - Затем объявляются переменные
n,iиa. Переменнаяnпредставляет собой количество элементов в массиве, а переменныеiиaиспользуются для доступа к элементам массива. - Переменная
sumинициализируется значением 0, которое будет использоваться для хранения суммы элементов массива. - Затем выполняется чтение значения
nс помощью функцииReadLn(). - Выделяется память для массива с помощью функции
GetMem(). Размер массива определяется какn * sizeof(integer). - Затем выполняется цикл
for, который проходит по каждому элементу массива от 1 доn. Внутри цикла считывается значение каждого элемента массива с помощью функцииread(). Значение считывается по адресуa^[i], гдеi- это текущий индекс элемента. - После завершения цикла
for, выполняется еще один циклfor, который проходит по каждому элементу массива от 1 доn. Внутри цикла суммируется значение каждого элемента массива с помощью оператора+и переменнойsum. - После завершения второго цикла
for, выводится значение переменнойsum, которое является итоговой суммой элементов массива. - Наконец, освобождается память, выделенная для массива, с помощью функции
FreeMem().