Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2012, 18:39   #1
prince_joha
Новичок
Джуниор
 
Регистрация: 18.02.2012
Сообщений: 1
По умолчанию Нетипизированные указатели. Динамические данные (Pascal)

Доброго времени суток !
Не получается создать программу с динамическим массивом и матрицей.
В первом случае нужно определить в созданном одномерном массиве максимальный элемент и его порядковый номер в массиве.
Во втором создать матрицу, вывести её на экран, а потом обменять местами её первую и последнюю строки.

Вот пример программы (с массивом), но без вышеуказанных условий:

Цитата:
Program n4;
var
mas,pointer;
i:byte;
intsize,massize,x,n:integer;
begin
write('chislo elementov= ');
readln(n);
intsize:=sizeof(integer);
massize:=n*intsize;
GetMem(mas,massize);
randomize;
for i:=1 to n do
begin
x:=random(100);
ptr(seg(mas^),ofs(mas^)+(i-1)*intsize);
move(x,p^,intsize);
end;
for i:= 1 to n do
begin
ptr(seg(mas^),ofs(mas^)+(i-1)*intsize);
move(p^,x,intsize);
write(x:4);
end;
writeln;
readln;
freemem(mas,massize);
end.
Я не могу понять, зачем после заполнения массива числами писать ещё один цикл:
Цитата:
for i:= 1 to n do
begin
ptr(seg(mas^),ofs(mas^)+(i-1)*intsize);
move(p^,x,intsize);
write(x:4);
end;
Ведь без него программа тоже работает.
______________________

Также непонятно как сослаться на элементы массива (строку матрицы), чтобы потом выполнить над ними нужные действия.
Мне посоветовали опереться на это действие:
Цитата:
x:=random(100);
ptr(seg(mas^),ofs(mas^)+(i-1)*intsize);
move(x,p^,intsize);
end;
Здесь (как я понял) значение "Х" передается в массив для заполнения его случайными числами, но я не пойму как это происходит.

Заранее благодарю за помощь !
prince_joha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TurboPascal «нетипизированные указатели» задача VadikV Фриланс 1 10.12.2011 12:16
Динамические массивы и указатели GrihaI Общие вопросы C/C++ 5 30.05.2010 17:52
Указатели, динамические списки Al-Fencer Паскаль, Turbo Pascal, PascalABC.NET 4 27.04.2009 12:44