• Авторизация


Вопросики по Турбо Паскалю 02-02-2007 20:35 к комментариям - к полной версии - понравилось!


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

2.Приведите пожалуйста пример как правильно задавать функцию со всеми параметрами(шапкой) и как ее выводить в основной программе.

3.Привидете пожалуйста примеры программ с типизированными, нетипизированными и текстовыми файлами с использованием масимума всего и вдобавок с коментами))

Заранее спасибо)

вверх^ к полной версии понравилось! в evernote
Комментарии (10):
kpt_Petia 02-02-2007-20:50 удалить
1. в паскале нет кажись динамических. но если в дельфи.. array of array[0..n, 0..m] of тип чтение вроде такое: array[k][n, m] 2. про правильное задание функции не понял. что может быть еще неправильное задание? это когда не компилируется? )) 3. ето в справке по дельфи смотри
Den_VO 02-02-2007-20:52 удалить
kpt_Petia, динамика в паскале есть) просто пример задания функции и вывода)
kpt_Petia 02-02-2007-21:09 удалить
вывода чего и куда? )) задается так: function FuNcTiOn1(a: typeA; b: typeB; ...): typeXXX; begin .... FuNcTiOn1 := XXX; end; a,b - параметры, typeA, typeB - типы параметров, typeXXX - тип возвращаемого функцией значения. а вот ето FuNcTiOn1 := XXX; устанавливает значение, которое вернет функция. обрати внимание шо в отличие от C-образных языков в паскале после установки возвращаемого значения выход из функции не происходит то есть там еще какие то команды могут стоять после етого.
Den_VO 02-02-2007-21:48 удалить
kpt_Petia, ну смотри в процедуре делаем так procedure proc(a:type;b:type; var X) var ... begin end; выводится как proc(a,b,X); так вот как тоже самое с функцией делать?
kpt_Petia 02-02-2007-21:58 удалить
var a: typeXXX; begin a := function1(a, b, ...); end; типо для удобства так сделали и наглядности. то есть когда ты пишешь function1(a, b, ...) то фактически в логике программы это означает какое-то значение. можно например так: for i := 0 to function1(a,b,...) или case (function1(a,b,...)) of вобще выходит шо процедура это частный случай функции. не знаю нафига ее ввели вобще.
Den_VO 02-02-2007-21:59 удалить
kpt_Petia, о! отлично, теперь ясно, спасибо))
Dim_K 03-02-2007-11:17 удалить
Исходное сообщение Den_VO kpt_Petia, динамика в паскале есть)
Ну-ка, ну-ка, переверни мое представление о паскале, приведи код программы, которая сможет работать с массивом длины N (вводится пользователем)

Den_VO 03-02-2007-11:56 удалить
это разве не то?
type t1=array[1..1] of integer; var a:^t1; n,m,i,j,k,p:integer; max:integer; begin readln (n); readln (m); getmem (a,sizeof(integer)*n*m); for i:=1 to n*m do read(a^[ i ]); max:=a^[1]; k:=1; p:=1; for i:=1 to n do for j:=1 to m do if a^[(i-1)*m+j] > max then begin max:=a^[(i-1)*m+j]; k:=i; p:=j; end; write(k:2, p:2); freemem(a,2*n*m); end.
или я что-то путаю?
kpt_Petia 03-02-2007-13:39 удалить
Den_VO, ну это изврат. имелось ввиду шо динамические массивы не поддерживаются на уровне синтаксиса. интересно что вернет Length(a) (:
Dim_K 03-02-2007-19:35 удалить
Исходное сообщение Den_VO это разве не то?
Ну, как тебе сказать... Думаю нет. Вот например я ввожу в него матрицу 2х2
1 2 3 4
и получаю мак.элемент=2 с индеком 2, хотя при беглом просмотре кода ошибок не вижу



Комментарии (10): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Вопросики по Турбо Паскалю | community_coding - Сообщество программистов | Лента друзей community_coding / Полная версия Добавить в друзья Страницы: раньше»