Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/16: Рейтинг темы: голосов - 16, средняя оценка - 4.94
Frip
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 272
#1

Создать динамический двумерный массив, заполнить его случайными цифрами, затем распечатать

29.05.2014, 16:39. Просмотров 2963. Ответов 12
Метки нет (Все метки)

Создать динамический двумерный массив, заполнить его случайными цифрами, затем распечатать.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program dinmas2;
uses crt;
type
 row =array[1..1] of integer;   
 prow=^row;
 mas = array[1..1] of prow;
 pmas=^ mas; 
var
  r: pmas;
  m, n: integer;         {count elements of array }
  i, j : integer; {index of array}
 begin
   write('количество строк массива');    readln(m);
   write('количество столбцов массива');   readln(n);
{$R-}    {set off control range of array}
  getmem(r,m*sizeof(prow));
  for i:=i to m do getmem(r^[i],n*sizeof(integer));
   for i:=i to m do
     begin writeln;
        for j:=1 to n do 
         begin    
          r^[i]^[j]:=random(10);
          write(r^ [i] ^ [j],'  '); 
         end;
    for i:=1 to n do freemem(r^[i], n*sizeof (integer));
      freemem(r,m*sizeof(prow)); 
      end;
     end.
Преподаватель дал такое задание, и к нему программу. Видимо, чтобы мы его отладили. Где-то недописана точка с запятой, где-то пробел не там, но это все по мелочи. Проблема идет в 5 строке. Паскаль пишет "Указатели на ссылочные типы недопустимы". Подскажите, что делать.
Заранее спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 16:39
Ответы с готовыми решениями:

Создать динамический двумерный массив, заполнить его случайными цифрами, затем распечатать
???

Заполнить двумерный массив 4 на 4 случайными значениями так, чтобы его элементы были симметричны главной диагонали.
Заполнить двумерный массив 4 на 4 случайными значениями так, чтобы его элементы...

Дан двумерный массив, заполнить его случайными числами и найти сумму элементов, имеющих нечетное значение
Подскажите, сам никак не могу врубиться (( Дан двумерный массив из целых...

Дан двумерный массив A[5,6]. Заполнить его случайными числами в промежутке от 30 до 100, сравнить суммы элементов столбцов, вывести сумму наибольшего
Дан двумерный массив A. Заполнить его случайными числами в промежутке от 30 до...

Создать вещественный массив из 10 000 чисел , заполнить его случайными числами в диапазоне от 0 до 1 . Вычислить
Создать вещественный массив из 10 000 чисел , заполнить его случайными числами...

12
Cyborg Drone
Модератор
5287 / 3161 / 2441
Регистрация: 17.08.2012
Сообщений: 10,154
30.05.2014, 15:17 #2
Перед строкой
Pascal
1
type
добавьте строку
Pascal
1
{$R-}
0
Frip
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 272
30.05.2014, 20:17  [ТС] #3
Поставил {$R-} перед type. Ничего не изменилось, паскаль все так-же выдаёт такую-же ошибку
0
Puporev
Модератор
54418 / 41987 / 28998
Регистрация: 18.05.2008
Сообщений: 98,906
30.05.2014, 21:14 #4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
program dinmas2;
{$R-}{set off control range of array}
uses crt;
type
row=^prow;
prow =array[1..1] of integer;
mas=^pmas;
pmas=array[1..1] of row;
var
r: mas;
m, n: integer;         {count elements of array }
i, j : integer; {index of array}
begin
clrscr;
write('количество строк массива m=');    readln(m);
write('количество столбцов массива n=');   readln(n);
getmem(r,m*sizeof(row));{память под строки}
for i:=1 to m do
getmem(r^[i],n*sizeof(integer));{память под элементы строк}
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    r^[i]^[j]:=random(10);
    write(r^ [i] ^ [j]:3);
   end;
  writeln;
 end;
for i:=1 to m do freemem(r^[i], n*sizeof (integer));{освобождаем память в обратном порядке}
freemem(r,m*sizeof(row));
readln
end.
0
Frip
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 272
30.05.2014, 21:46  [ТС] #5
ругается на 17 строчку "неизвестное имя getmem"
0
Puporev
Модератор
54418 / 41987 / 28998
Регистрация: 18.05.2008
Сообщений: 98,906
31.05.2014, 08:09 #6
Не сочиняйте, программа полностью рабочая для Турбо Паскаля, хотя на эту строчку и в АВС не ругается.
Вот скрин работы программы
0
Миниатюры
Создать динамический двумерный массив, заполнить его случайными цифрами, затем распечатать  
Svager
396 / 375 / 406
Регистрация: 14.09.2013
Сообщений: 1,204
31.05.2014, 13:02 #7
Puporev, а Вас какой Паскаль? 7.1 ?
0
Puporev
Модератор
54418 / 41987 / 28998
Регистрация: 18.05.2008
Сообщений: 98,906
31.05.2014, 13:05 #8
Нет, 7.0

Добавлено через 37 секунд
7.1 это очень глючный компилятор
0
Svager
396 / 375 / 406
Регистрация: 14.09.2013
Сообщений: 1,204
31.05.2014, 13:31 #9
Цитата Сообщение от Puporev Посмотреть сообщение
7.1 это очень глючный компилятор
с чего это?
0
Puporev
Модератор
54418 / 41987 / 28998
Регистрация: 18.05.2008
Сообщений: 98,906
31.05.2014, 13:33 #10
У меня был раньше, я выкинул, читал плохие отзывы в инете.
Если тебя устраивает, вперед.
0
Frip
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 272
31.05.2014, 17:51  [ТС] #11
(Ссылка на сторонний ресурс удалена)

Я не сочиняю.

(Ссылка на сторонний ресурс удалена)
0
Puporev
Модератор
54418 / 41987 / 28998
Регистрация: 18.05.2008
Сообщений: 98,906
31.05.2014, 18:02 #12
Вы загнали тему в общий раздел Паскаля, не указав на чем Вы пытаетесь это запустить, хотя Вам писали что это код для Турбо Паскаля. Но если Вы такой вумный и секретный, то и партесь сами, но в Паскаль АВС это работать не будет,даже и без .net, а в последyем вообще нет процедуры getmem
0
Frip
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 272
01.06.2014, 13:52  [ТС] #13
Прошу меня извинить, не обратил должного внимания. Получается эта программа не работает в среде АВС
0
01.06.2014, 13:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2014, 13:52

Дан двухмерный массив [10,10] . Заменить нечетные элементы на 0 заполнить случайными цифрами от 1 до 9
помогите решить задачу

Заполнить двумерный массив случайными числами
Задача на Паскале: Заполнит двумерный массив размерностью 6*6(константы)...

Заполнить двумерный массив случайными символами
заполнить двумерный массив случайными символами


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru