Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 14.10.2015
Сообщений: 15
1

Программа сложной модульной структуры

19.11.2015, 15:40. Показов 1227. Ответов 1
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста, совсем завис, не получается разбить это на отдельные проекты а потом как то совместить,на ссылки ругается, вообщем я полный нуль в этом, а надо завтра уже сдать, работаю в Dev-Paskal можно и в c++.

Разобрать программу сложной модульной структуры, содержащую набор функций, позволяющих в одномерном массиве, состоящем из n вещественных элементов вычислить:
1)Номер минимального элемента массива.
2)Сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
3)Преобразовать массив таким образом, что бы сначала располагались все элементы, модуль которых не превышает 1, а потом все остальные.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2015, 15:40
Ответы с готовыми решениями:

программа модульной структуры
эта программа выводит девочек отличниц а нужно что выводила всех студентов подскажите как это...

Обработка символьных данных сложной структуры
Составить программу для обработки информации о студентах. Каждый студент характеризуется...

Программа табулирования сложной математической функции
Помогите пожалуйста Написать на языке Паскаль программу табулирования сложной математической...

Задача на алгоритмы сложной структуры
Введя по две оценки для каждого студента, подсчитать среди них количество отличников и неуспевающих.

1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
6174 / 3699 / 2559
Регистрация: 22.11.2013
Сообщений: 10,579
Записей в блоге: 1
19.11.2015, 17:53 2
Лучший ответ Сообщение было отмечено palach360 как решение

Решение

Файл UA.PAS:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
unit ua;
interface
 
{ Заполняет массив случайными значениями из интервала [b,c) }
procedure mRand(var a: array of Real; b, c: Real);
 
{ Выводит содержимое массива }
procedure mWrite(const a: array of Real; W, D: Integer);
 
{ Подсчитывает сумму элементов массива со смещениями от b до c }
function mSum(var a: array of Real; b, c: Integer): Real;
 
type
  { Прототип функции упорядочивания a<b }
  TLessFunc = function (a, b: Real): Boolean;
 
{ Сортирует массив }
procedure mSort(var a: array of Real; Less: TLessFunc);
 
implementation
 
procedure mRand(var a: array of Real; b, c: Real);
var i: Integer;
begin
  for i:=Low(a) to High(a) do a[i]:=b+Random*(c-b);
end;
 
procedure mWrite(const a: array of Real; W, D: Integer);
var i: Integer;
begin
  for i:=Low(a) to High(a) do
    if      W<0 then Write(' ',a[i])
    else if D<0 then Write(' ',a[i]:W)
    else             Write(' ',a[i]:W:D);
  WriteLn;
end;
 
procedure mSort(var a: array of Real; Less: TLessFunc);
var i, j: Integer; t: Real;
begin
  for j:=High(a) downto Low(a)+1 do
    for i:=Low(a)+1 to j do
      if Less(a[i],a[i-1]) then begin
        t:=a[i-1]; a[i-1]:=a[i]; a[i]:=t;
      end;
end;
 
function mSum(var a: array of Real; b, c: Integer): Real;
var r: Real;
begin
  Inc(b,Low(a)); Inc(c,Low(a)); r:=0;
  for b:=b to c do r:=r+a[b];
  mSum:=r;
end;
end.
Файл UM.PAS
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
unit um;
interface
 
{ Возвращает смещение минимального элемента массива от начала }
function OffsMin(const a: array of Real): Integer;
 
{ Возвращает смещение отрицательного элемента, иначе -1 }
function OffsNeg(const a: array of Real; o: Integer): Integer;
 
implementation
 
function OffsMin(const a: array of Real): Integer;
var i, j: Integer;
begin
  j:=Low(a);
  for i:=Low(a)+1 to High(a) do
    if a[j]>a[i] then j:=i;
  OffsMin:=j-Low(a);
end;
 
function OffsNeg(const a: array of Real; o: Integer): Integer;
begin
  o:=o+Low(a); OffsNeg:=-1; if o<Low(a) then Exit;
  while (o<=High(a)) and (a[o]>=0) do Inc(o);
  if o>High(a) then Exit;
  OffsNeg:=o-Low(a);
end;
end.
Файл программы:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses ua, um;
{$F+}
function less1(a, b: Real): Boolean;
begin less1:=(abs(a)<=1) and (abs(b)>1); end;
 
const n=10;
var
  a: array [0..n-1] of Real;
  i1, i2: Integer;
begin
  Randomize; mRand(a,-2,2);
  Write('A ='); mWrite(a,0,2);
  WriteLn('Номер минимального элемента: ',OffsMin(a)+1);
  i1:=OffsNeg(a,0); i2:=OffsNeg(a,i1+1);
  if i2<0 then WriteLn('Нет 2-х отрицательных элементов')
  else WriteLn('Сумма между 1 и 2-м отрицательным: ',mSum(a,i1+1,i2-1):0:2);
  mSort(a,less1);
  Write('A''='); mWrite(a,0,2);
end.
Цитата Сообщение от palach360 Посмотреть сообщение
программу сложной модульной структуры
Достаточно ли сложна модульная структура?
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2015, 17:53

Динамические объекты сложной структуры
Сформировать двунаправленный кольцевой список, вывести его на печать, удалить N последних элементов.

Обработка данных сложной структуры
Автоматизированная записная книжка должна содержать следующую информацию: фамилия, имя, отчество,...

Конструирование файлов с элементами сложной структуры
Создать файл записей. Программу оформить с помощью текстового меню, включающего: • Создание файла...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru