Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
3 / 3 / 0
Регистрация: 04.11.2018
Сообщений: 123

Процедура, которая cчитает количество равных элементов в массиве в переменную i

25.11.2018, 19:30. Показов 1337. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я не могу разобраться с процедурами) Как мне вызвать из процедуры полученное значение(i) в тело программы,чтобы далее его использовать. Может быть здесь вообще нужно использовать функцию? Подскажите , а то я совсем запутался

Нужна процедура, которая cчитает количество равных элементов в массиве в переменную i.

Напишите пожалуйста как это сделать) Мне не нужно печатать эту переменную в процедуре, мне нужно получить ее значение в тело программы. это только отрывок из задачи на упорядоченность.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const n=5;
type t_mass= array [1..n] of integer;
  procedure kol(a:t_mass; var i:integer);
 
 begin 
     i:=1;
     while (i<n) and (a[i]=a[i+1]) do 
      inc(i);
      kol:=i;
      end;
 
 var i:integer;
 a:t_mass;
 
 Begin
 for i:= 1 to n do
   read(a[i]);
 i:= kol(a,i);
 
 write(i);
 end.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.11.2018, 19:30
Ответы с готовыми решениями:

Составить программу, которая находит количество элементов, равных первому элементу, и количество элементов, равных последнему, в массивах X(N) и Y(M).
Составить программу, которая находит количество элементов, равных первому элементу, и количество элементов, равных последнему, в массивах...

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

Напишите программу, которая находит в массиве количество элементов, равных максимальному
Напишите программу, которая находит в массиве количество элементов, равных максимальному. Входные данные Первая строка содержит...

6
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
25.11.2018, 20:04
Лучший ответ Сообщение было отмечено Космодемьян как решение

Решение

Не понял что Вы делаете, но писать нужно так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const n=5;
type t_mass= array [1..n] of integer;
procedure kol(a:t_mass; var k:integer);
var i:integer;
begin
i:=1;
while (i<n) and (a[i]=a[i+1]) do  inc(i);
k:=i;
end;
 
var i:integer;
    a:t_mass;
 
Begin
for i:= 1 to n do
read(a[i]);
kol(a,i);
write(i);
end.
1
3 / 3 / 0
Регистрация: 04.11.2018
Сообщений: 123
25.11.2018, 20:23  [ТС]
Спасибо большое) процедуру дописал в код и стало выдавать ошибку: (17) : Ошибка времени выполнения: Индекс находился вне границ массива. Почему так?
Вот вся программа( если последовательность неупорядочена ни по неубыванию ни по невозрастанию, то найти среднее геометрическое положительных членов)

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
const n=5;
type t_mass= array [1..n] of integer;
 
  procedure kol(a:t_mass; var k:integer);
  var i:integer;
  begin
  i:=1;
  while (i<n) and (a[i]=a[i+1]) do  inc(i);
  k:=i;
  end;
 
  function Sort(a:t_mass):boolean;
var k: integer;
  begin 
     
      if (k<n) and (a[k]<=a[k+1]) then begin 
               while (k<n) and (a[k]<=a[k+1]) do
               inc(k); end {проверка на неубывание} 
      else 
        if (k<n) and (a[k]>=a[k+1]) then begin
        while (k<n) and (a[k]>=a[k+1]) do
        inc(k); end;{проверка на невозрастание}
      Sort:= k=n;
    end;
 
var 
i,k:integer;
p: real;
a: t_mass;
 
begin
  for i:= 1 to n do
   read(a[i]);
     p:=1;
   kol(a,i);
   if Sort(a) then write(' массив упорядочен по невозрастанию или неубыванию') else begin  k:=0;
     for i:=1 to n do 
     if a[i]>0 then begin k:=k+1; p:=p*a[i];end;
             if k>0 then begin p:=exp(ln(p)/k); write('среднее геометрическое последовательности p=',p:3:3); end
             else write('в массиве нет положительных элементов')end;
  
end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
25.11.2018, 20:32
Pascal
1
2
3
4
5
6
7
8
9
function Sort(a:t_mass):boolean;
var i,j: integer;
begin
i:=1;
while(i<n)and(a[i]>=a[i+1]) do inc(i);
j:=1;
while(j<n)and(a[j]<=a[j+1]) do inc(j);
Sort:=(i=n)or(j=n)
end;
0
3 / 3 / 0
Регистрация: 04.11.2018
Сообщений: 123
25.11.2018, 20:48  [ТС]
но ведь мы же искали количество равных элементов в начале массива для того, чтобы их пропустить при проверке на упорядоченность. Следовательно проверка должна начинаться с K элемента, т.е. последнего из равных элементов в начале массива. А вы присваиваете i,j=1 и начинаете проверку с начала.(
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
25.11.2018, 20:50
Цитата Сообщение от Космодемьян Посмотреть сообщение
количество равных элементов
А нафига это нужно? В упорядоченном массиве может не быть и пары одинаковых.
0
3 / 3 / 0
Регистрация: 04.11.2018
Сообщений: 123
25.11.2018, 20:57  [ТС]
Сам задаюсь эти вопросом, но старая преподша не хочет без этого принимать работу. Говорит, что программа не оптимизирована.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.11.2018, 20:57
Помогаю со студенческими работами здесь

Написать функцию, которая определяет в одномерном массиве количество элементов, равных 0
Написать функцию, которая определяет в одномерном массиве количество элементов, равных 0. Печать результатов осуществляется в функции...

Напишите программу, которая находит в массиве количество элементов, равных заданному значению X
Напишите программу, которая находит в массиве количество элементов, равных заданному значению X . Входные данные Первая строка...

Составить программу, которая находит количество элементов, равных первому элементу, и количество элементов
Условие : Составить программу, которая находит количество элементов, равных первому элементу, и количество элементов, равных последнему, в...

Определить в массиве количество элементов, равных полусумме первого и последнего элементов
Определить в массиве количество элементов , равных полусумме первого и последнего элементов. На СИ

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru