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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2011, 20:38   #1
ScoPld
 
Регистрация: 21.05.2011
Сообщений: 9
По умолчанию Массивы

Размерности массивов следует задать именованными константами. Все необходимые данные должны передаваться подпрограммам в качестве фактических параметров; все величины, используемые только внутри подпрограмм, должны быть описаны как локальные. Использование глобальных переменных в подпрограммах нежелательно. Вывод результатов работы подпрограмм должен выполняться в главной программе.
1. Сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент (оформить в виде процедуры или функции).
2. Найти минимальный по модулю элемент массива, его индексы. (оформить в виде функции).
ScoPld вне форума Ответить с цитированием
Старый 21.05.2011, 20:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
MODULE mass;
IMPORT StdLog;
CONST n=4;m=4;
VAR a:ARRAY(n) OF ARRAY(m) OF INTEGER;

PROCEDURE min;
VAR ai,aj,i,j:INTEGER;b:BOOLEAN;
BEGIN ai:=0;aj:=0;
 FOR i:=0 TO LEN(a)-1 DO b:=FALSE;
  FOR j:=0 TO LEN(a[i])-1 DO
   IF a[i,j]<a[ai,aj] THEN ai:=i;aj:=j; END; 
  END; 
 END; StdLog.Ln;
 StdLog.String('Min element ');
 StdLog.Int(ai);StdLog.Tab;StdLog.Int(aj);StdLog.Tab;
 StdLog.Int(a[ai,aj]);
END min;

PROCEDURE summ(n:INTEGER):INTEGER;
VAR s,i:INTEGER;
BEGIN
 s:=0;
 FOR i:=0 TO LEN(a[n])-1 DO s:=s+a[n,i];END;
 RETURN s;
END summ;

PROCEDURE Fill;
VAR i,j:INTEGER;b:BOOLEAN;
BEGIN StdLog.Clear;
 FOR i:=0 TO LEN(a)-1 DO b:=FALSE;
  FOR j:=0 TO LEN(a[i])-1 DO
   a[i,j]:=-i+j;StdLog.Int(a[i,j]);StdLog.Tab;
   IF a[i,j]<0 THEN b:=TRUE; END; 
  END; IF b THEN StdLog.Tab;StdLog.Int(summ(i));END;   
  StdLog.Ln;
 END;
END Fill;

PROCEDURE do*;
BEGIN
 Fill;min;
END do;

END mass.
Сойдет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.05.2011, 21:29   #3
ScoPld
 
Регистрация: 21.05.2011
Сообщений: 9
По умолчанию

может и сойдет, узнавать надо, это у меня как курсовая работа идет, а в этой области программирования я не шарю...
ScoPld вне форума Ответить с цитированием
Старый 21.05.2011, 21:35   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это у меня как курсовая работа идет
Чет мельчают нынче курсачи... В мое время это и на лабораторку бы не потянуло.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.05.2011, 11:39   #5
ScoPld
 
Регистрация: 21.05.2011
Сообщений: 9
По умолчанию

Вообщем сказали, что для FreePascal не катит это((
ScoPld вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические массивы и массивы варианты N@stya Помощь студентам 0 11.06.2010 21:09
С++, Массивы, динамические массивы. -Sunshine- Помощь студентам 1 19.04.2010 02:17
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Массивы stim-12 Помощь студентам 4 11.01.2009 00:18