Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 12.02.2014
Сообщений: 47
1

Передача массива функции. Комбинированный тип

28.01.2017, 23:12. Показов 639. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Запутался в передаче массива функции. И подскажите, правильно ли использую комбинированный тип.
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
const n=30;
type data = record 
name: string[30]; 
pol: char;
rost:140..200 
end;
gruppa=array [1..n] of data;
 
function Search_man(var gruppa:mas):boolean;
var
i,j:integer;;
begin
search_man:=false;
for i:=1 to n-1 do
for j:=i+1 to n do 
begin 
    if gruppa[i].pol<>'M' then continue
else 
if gruppa[i].rost=gruppa[j].rost then   
begin
Search_man:=true;
Exit; {выход из функции}
end;
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2017, 23:12
Ответы с готовыми решениями:

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

Комбинированный тип «ЗАПИСЬ».
Доброго времени суток!!! Решила обратится за помощью так как сроки горят, сама не могу разобраться...

Комбинированный тип данных
Помогите с пакой задачей: напечатать фамилии и даты рождения студентов, не получивших ни одной...

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

2
Эксперт Pascal/Delphi
6810 / 4567 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
29.01.2017, 07:51 2
Цитата Сообщение от Slevin_K Посмотреть сообщение
правильно ли использую комбинированный тип
Нет. Вы использовали сам тип вместо переменной.
Цитата Сообщение от Slevin_K Посмотреть сообщение
Запутался в передаче массива функции.
Вам в данном случае не нужно изменять сам массив в процедуре, поэтому var в заголовке ф-ции не обязательно.



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
const
  n = 30;
 
type
  data = record 
    name: string[30]; 
    pol: char;
    rost: 140..200 
  end;
  gruppa = array [1..n] of data;
 
function Search_man(mas: gruppa): boolean;
var
  i, j: integer;
begin
  search_man := false;
  for i := 1 to n - 1 do
    for j := i + 1 to n do 
    begin
      if mas[i].pol <> 'M' then 
        continue
      else 
      if mas[i].rost = mas[j].rost then
      begin
        Search_man := true;
        Exit; {выход из функции}
      end;
    end;
end;
 
begin
end.
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7771 / 4600 / 2824
Регистрация: 22.11.2013
Сообщений: 13,080
Записей в блоге: 1
29.01.2017, 13:22 3
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
не нужно изменять сам массив в процедуре, поэтому var в заголовке ф-ции не обязательно
... но при передаче массива, который внутри не изменяется, стоит указать const, иначе на каждый вызов будет создаваться копия массива:
Pascal
1
2
3
function Search_man(const mas: gruppa): boolean; { ссылка на mas, менять содержимое запрещено }
function Search_man(mas: gruppa): boolean; { mas -- локальная копия параметра, изменения пропадут }
function Search_man(var mas: gruppa): boolean; { ссылка на mas, изменения видны вне функции }
2
29.01.2017, 13:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2017, 13:22
Помогаю со студенческими работами здесь

Комбинированный тип данных
Помогите пожалуйста с задачкой, очень вас прошу Составить программу назначения стипендии...

Комбинированный тип. Ссылочный тип
1) Поле записи комбинированного типа представляет собой: а)описание переменной, в)описание простой...

Комбинированный тип. Тип запись
Тип запись typedef.. Прошу помочь с основными операциями над структурами, желательно без...

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

Lazarus (Комбинированный тип)
С клавиатуры вводится информация об олимпиадах: название, количество участников, город проведения....

Записи комбинированный тип данных
Помогите пожалуйста решить задачу:Существует некоторая фирма, которая образована в 1991 году....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru