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

В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число А; в противном случае определить номер

14.10.2021, 11:48. Показов 1435. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задан массив чисел, упорядоченных по какому-либо условию. Составить алгоритм с использованием процедур (процедуры: ввода и вывода исходного массива, обработки и вывода полученного массива). Для тестирования алгоритма исходные данные подобрать самостоятельно.

В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число А; в противном случае определить номер места, на котором число А должно стоять; кроме того подсчитать количество отрицательных чисел в массиве.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2021, 11:48
Ответы с готовыми решениями:

В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число A, в противном случае подсчи
В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число A, в противном случае подсчитать сумму чисел, в два раза...

В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число P, в противном случае подсчитать колич
В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число P, в противном случае подсчитать количество чисел,...

В упорядоченном по неубыванию массиве чисел определить, есть ли заданное число L, в противном случае подсчитат
В упорядоченном по неубыванию массиве чисел определить, есть ли заданное число L, в противном случае подсчитать количество чисел, меньших...

3
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
15.10.2021, 10:06
Лучший ответ Сообщение было отмечено ren1koV как решение

Решение

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
const maxCount = 100;
var arr : array [0..maxCount] of Integer;
procedure InputArray;
var i : Integer;
begin
  Write('число элементов: ');Read(arr[0]);Write('элементы: ');
  for i := 1 to arr[0] do Read(arr[i]);
end;
procedure Examen;
var i : Integer;
begin
  for i:=1 to arr[0]-1 do if arr[i]<arr[i+1] then begin WriteLn('массив не по условию');Halt;end;
end;
procedure Find;
var i,a:Integer;
begin
  Write('a = ');Read(a);
  if a<arr[arr[0]] then WriteLn('нет. место ',arr[0]+1)
  else if a>arr[1] then WriteLn('нет. место 1')
  else begin
    i:=0; repeat inc(i); until arr[i]<=a;
    if arr[i]=a then WriteLn('место ',i) else WriteLn('нет. место ',i);
  end;
end;
procedure Calc;
var i:Integer;
begin
  i:=arr[0];while(i>0)and(arr[i]<0)do dec(i);
  WriteLn('отрицательных ',arr[0]-i);
end;
begin
  InputArray;
  Examen;
  Find;
  Calc;
end.
1
1 / 1 / 0
Регистрация: 27.09.2021
Сообщений: 97
15.10.2021, 13:35  [ТС]
Конечно спасибо за то, что уделили время и написали эту программу, но она слишком сложная и не понятная для меня, не могли ли немного упростить эту программу и уменьшить кол-во различных навороченных кодов, что бы было понятнее новичку?)
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
15.10.2021, 16:08
Лучший ответ Сообщение было отмечено ren1koV как решение

Решение

Скорее — это не моя программа такая, а ваше задание такое:
Цитата Сообщение от ren1koV Посмотреть сообщение
Составить алгоритм с использованием процедур
Даже наоборот, я старался каждую процедуру сделать как можно проще и для одного действия использовать одну строку…
А если вас смущают названия переменных и процедур и отсутствие необязательных переносов строки, то вот вам тот же код, только „упрощенный“ для восприятия:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
const
  m = 100;
 
var
  r : array [0..m] of Integer;
 
procedure u;
var
  i : Integer;
begin
  Write('число элементов: ');
  Read(r[0]);
  Write('элементы: ');
  for i := 1 to r[0] do
    Read(r[i]);
end;
 
procedure v;
var
  i:Integer;
begin
  for i:=1 to r[0]-1 do
    if r[i]<r[i+1] then
      begin
        WriteLn('массив не по условию');
        Halt;
      end;
end;
 
procedure w;
var i,a:Integer;
begin
  Write('a = ');
  Read(a);
  if a<r[r[0]] then
    WriteLn('нет. место ',r[0]+1)
  else
    if a>r[1] then
      WriteLn('нет. место 1')
    else
      begin
        i:=0;
        repeat
          inc(i);
        until r[i]<=a;
        if r[i]=a then
          WriteLn('место ',i)
        else
          WriteLn('нет. место ',i);
      end;
end;
 
procedure x;
var
  i:Integer;
begin
  i:=r[0];
  while(i>0)and(r[i]<0)do
    dec(i);
  WriteLn('отрицательных ',r[0]-i);
end;
 
begin
  u;
  v;
  w;
  x;
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.10.2021, 16:08
Помогаю со студенческими работами здесь

В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число A, в противном случае подсчи
В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число A, в противном случае подсчитать сумму чисел, в два раза...

В упорядоченном по неубыванию массиве чисел определить, есть ли заданное число U, в противном случае подсчитать количество чисел, небольших U; кроме т
В упорядоченном по неубыванию массиве чисел определить, есть ли заданное число U, в противном случае подсчитать количество чисел, небольших...

В массиве определить, есть ли заданное число H, в противном случае подсчитать количество чисел, меньших H
В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число H, в противном случае подсчитать количество чисел,...

В упорядоченном по неубыванию массиве чисел определить, есть ли заданное число T
В упорядоченном по неубыванию массиве чисел определить, есть ли заданное число T, впротивном случае определить номер места, на котором ...

В упорядоченном по неубыванию массиве чисел определить, есть ли заданное число A
В упорядоченном по неубыванию массиве чисел определить, есть ли заданное число A, в противном случае определить номер места, на котором...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru