Помощь - Поиск - Пользователи - Календарь
Полная версия: Динамика
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
skAmZ
Вот задание:
2.С помощью динамических переменных реализуйте вещественную матрицу размером 200 x 100. Каждому элементу матрицы присвойте случайное значение из заданного диапазона. Отсор-тируйте элементы в строках и строки по значению первого элемента. Выдайте на экран первую подматрицу размером 20 x 10.


Код

uses crt;
type
  mn=-6500..6500;
  mas1:array[1..200] of Integer;
  mas:array[1..100] of ^mas1;
var i,j,min,max:Integer;
      masiv:^mas;
begin
clrscr;
readln(min); {минимальное значение диопазона}
readln(max); {максимально значение диопазона}
Getmem(masiv,4*Sizeof(Real));
For i:=1 to 100 do
  For j:=1 to 200 do
      masiv^[i]^[j]:=random(max-min)+min-1;

{сюда не доходит}


Не знаю в чем дело, дальше не пишу потому что он даже заполнение не проходит.
Lapp
1. В определении типа используй "=" а не ":"
2. В процедуре GetMem ты неверно указал размер, поэтому у тебя выходит за границы памяти. Сделай так:
  GetMem(masiv,Sizeof(mas));

3. После этого ты должен затребовать память для каждого элемента masiv[i]^, например так:
for i:=1 to 100 do GetMem(masiv^[i],SizeOf(mas1));

- либо вставь это в основной цикл:
For i:=1 to 100 do begin
GetMem(masiv^[i],SizeOf(mas1));
For j:=1 to 200 do
masiv^[i]^[j]:=random(max-min)+min-1;
end;
volvo
Послушай внимательно, skAmZ...

Соизволь в следующий раз все-таки прочесть Правила Форума (особенно пункт 2) и то, что написано в рамочке
Цитата
Прочтите прежде чем задавать вопрос!
.

Это - последнее предупреждение тебе... Не надо захламлять форум! mad.gif

FAQ: Работа с динамическими матрицами
skAmZ
Прости, больше такого не повториться. Чесно говоря меня взбесил отвой ответ на самое перове мое сообщение.
На счет проги, ":" это опечатка, все остальное зделал) все норм).
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.