Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Процедура в массиве, подбор процедуры 
:(
    Опции темы
Neo007
Дата 25.4.2006, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Вот нашёл задачку про процедуры и думаю какую процедуру туда лучше вставить....
Код

program MasProc;
const num=10;
type MyMas=array[1..num, 1..num] of real;
var ms: MyMas; i, j, k, l: integer; val: real;

procedure Myproc














begin
. . . . .
 MyProc( ms, i, k, j, val);  {При вызове результата, находиться массива ms i-той строчки j-того элемента и k-той строчки j-того элемента сумма, которая возвращаеться переменной val}
. . . . .
end.


так будет правильно? :
var l:integer;
j:=1;
for i:=1 to num do begin
for k:=1 to num do begin
j:=j+1;
end;
end;
l:=mymas[i,j]+mymas[k,j]
val:=l

 
PM MAIL   Вверх
Heremum
Дата 25.4.2006, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Пардон, ты пытаешься в процедуру передать параметры, а в описании не указаны никакие параметры. 
PM MAIL ICQ   Вверх
Neo007
Дата 25.4.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Ну а разве без пораметров будет правильно? 
Ну дапустим...как тогда стоит записать процедуру? 
PM MAIL   Вверх
Heremum
Дата 25.4.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Задача какая-то непонятная. Ещё раз отдельно выпиши условие. Найти сумму элементов массива: [i, j] и [k, j]? А как меняться должны эти переменные i, j, k? 
PM MAIL ICQ   Вверх
Neo007
Дата 25.4.2006, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



В задание кроме того что я указал ничё не написано...ну я думаю просто цикл от i:=1 to num
и k:=1 to num ,  а j скажем указыватья в главной программе , а в процедуре просто меняеть при выполнении цикла от j до j+1 несколько раз...
вот только программа всё равно не выходит...
постоянно какая то ошибка, не пойму где... 
PM MAIL   Вверх
Heremum
Дата 25.4.2006, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Интересно, кто писал само задание? smile
Ну да ладно, перечитав 10 раз, я понял след.: написать функцию, которая возвращает значение массива ms элементов [i, j] и [k, j], в переменную val;
Все параметры должны передаваться в функцию: i, j, k;
Тут есть двоиственность:
1)Ты можешь указать один из параметров функции - переменную, в которую будет записано значение результата.
2)Ты можешь просто присвоить результат вычисление вернув его, как завершении функции.
Вот так:
Код

Uses crt;
Var ms: array [1..10][1..10] of Integer;{Челочисленный массив 10Х10}
val : Integer;

function My(Integer: i, j, k) : Integer;
Begin
    My := ms[i, j] + ms[k, j];
End;
BEGIN
ClrScr;
val := My(1, 2, 3);
WriteLn(val);
END.

Тут реализован второй способ из двойственонсти. Как реализовать первый, честно скажу: не помню, в Паскале нужна ли работа с адресами при указании параметра функции. 
PM MAIL ICQ   Вверх
Neo007
Дата 26.4.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



я конечно не спец в паскале но ты что то не то написал....  smile  
PM MAIL   Вверх
Heremum
Дата 26.4.2006, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Я выполнил задание, которое понял. Берём два элемента массива [i, k] и [k, j]. Возвращаем их сумму. 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0934 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.