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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2018, 18:48   #1
pirab
 
Регистрация: 13.03.2018
Сообщений: 3
По умолчанию Массив открытого типа

Помогите сделать с помощью подпрограммы с массивом открытого типа прогу для ввода и вывода матриц разных размеров


(размер матрицы сам регулируешь)
pirab вне форума Ответить с цитированием
Старый 14.03.2018, 07:44   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

Код:
const N = 2000000;
        M = 2000000;
var P:array[1..N,1..M]of Integer;//пущай матрица будетм максимального размера 2x2 миллиона
....
вводим A;//вводишь ширину матрицы
вводим B;//вводишь высоту матрицы
for X=1 to A do
for Y=1 to B do
begin
   P=...//вот тут заполянешь свой массив либо вручную, либо по формулам, как препод скажет.
end;
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 14.03.2018, 09:10   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
подпрограммы с массивом открытого типа
ну даже не знаю. Если и впрямь именно открытого типа, а не к примеру динамического.
Код:
type matrix: array of array of integer;//но это уже динамический
procedure vvod(var a: matrix);
begin
  N:=//число строк
  M:=//число столбцов
  SetLength(a, N,M);
  a[x,y]:=// и так каждый элемент
Код:
procedure AddLineMatrix(var m: martix; line: array of integer); //а вот здесь уже line будет ОТКРЫТОГО типа; m как переменная динамический массив
begin
  n:=length(m,1);
  SetLength(m, n+1); // меняем ОДНУ размерность 
//еще неплохо бы проверить допустимость операции
//и далее начинаются веселые дела 
???   m[n]:=
постараюсь найти в старых темах демо
http://www.programmersforum.ru/showt...ighlight=array // чем отличаются открытые и динамические массивы
http://www.programmersforum.ru/showt...ighlight=array // и пример использования процедуры аналогичной AddLineMatrix
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 14.03.2018 в 09:41.
evg_m вне форума Ответить с цитированием
Старый 14.03.2018, 10:05   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
Код:
const N = 2000000;
        M = 2000000;
var P:array[1..N,1..M]of Integer;//пущай матрица будетм максимального размера 2x2 миллиона
....
вводим A;//вводишь ширину матрицы
вводим B;//вводишь высоту матрицы
for X=1 to A do
for Y=1 to B do
begin
   P=...//вот тут заполянешь свой массив либо вручную, либо по формулам, как препод скажет.
end;
Ахахахаха!!! ЗАЧОТ!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.03.2018, 11:38   #5
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

если хотел ТС нахаляву что-то получить, пусть получает...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 14.03.2018, 12:01   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
если хотел ТС нахаляву что-то получить, пусть получает...
а что не так то? пост #3 более чем информативен и достаточен.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.03.2018, 14:32   #7
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

одно дело, когда народ программу с нуля готовую хочет получить, а другое дело, когда процедуру или функцию - уж поискать-то можно самому про типы и функции... даже как-то обидно расписывать правильно такие мелочи. вот и подсунул чухню...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 14.03.2018, 14:47   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
вот и подсунул чухню...
а, понял. Вы переживаете за тот код, что Вы предложили в пост #2.
Не переживайте.
Чем больше вариантов - тем автору топика легче разобраться и выбрать наиболее подходящий.
И на троллинг внимания не обращайте.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование каждого слова в строке типа string в каждый отдельный массив типа integer Greshnaya333 Паскаль, Turbo Pascal, PascalABC.NET 4 11.10.2017 16:12
Массивы и строки открытого типа. Nilip 777 Паскаль, Turbo Pascal, PascalABC.NET 3 11.03.2014 21:51
Возможно ли в массив типа char записать первым элементом значение переменной типа float? Green Gin Общие вопросы C/C++ 2 05.12.2011 01:50
ПАРАМЕТРЫ-КОНСТАНТЫ, НЕТИПИЗИРОВАННЫЕ ПАРАМЕТРЫ ПОДПРОГРАММ, МАССИВЫ И СТРОКИ ОТКРЫТОГО ТИПА Юрий62 Помощь студентам 1 04.12.2011 14:09
ПАРАМЕТРЫ-КОНСТАНТЫ, НЕТИПИЗИРОВАННЫЕ ПАРАМЕТРЫ ПОДПРОГРАММ, МАССИВЫ И СТРОКИ ОТКРЫТОГО ТИПА Kira09 Паскаль, Turbo Pascal, PascalABC.NET 0 19.12.2010 17:28