Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 16.09.2019
Сообщений: 17

Написать программу выполняющую поиск элементов заданного массива

27.10.2019, 14:34. Показов 2853. Ответов 9

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток, мне нужна помощь в написании программы и составлении блок-схемы для нее
Задание:
Написать программу, выполняющую поиск двух элементов заданного массива, таких, что их разность по модулю минимальна. Все данные вводятся с клавиатуры.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.10.2019, 14:34
Ответы с готовыми решениями:

Написать программу, выполняющую поиск двух элементов заданного массива,таких,что их разность по модулю минимальна
program Zad1; var x:array of real; n:byte; i:integer; begin writeln('Vvedite razmer massiva'); repeat ...

Написать программу, выполняющую поиск такого минимального k, что сумма первых k элементов массива превосходит заданное
1. Написать программу, выполняющую поиск такого минимального k, что сумма первых k элементов массива превосходит заданное число s.

Написать программу, многократно выполняющую чтение элементов массива заданного размера
Доброе время суток! Вот у меня такие задачки, помогите решить пожалуйста :help: Первая задачка: Написать программу, многократно...

9
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
27.10.2019, 15:15
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
program Project1;
var
  a: array[1..50] of integer; // Переменная для хранения массива.
  n: integer; //   Переменная для хранения количества элементов массива.
  i,j: integer; // Вспомогательная переменная для организации цикла.
  mindiff: integer; //  Переменная для хранения значения разницы элементов.
  ind1, ind2: integer; // Переменные для хранения индексов элементов среди  которых ведется поиск.
begin
  write('Введите количество элементов массива: ');
  Readln(n);
  for i:= 1 to n do     // Ввод значений элементов вручную.
   begin
     write('Введите значение элемента ',i,': ');
     Readln(a[i]);
   end;
  writeln('Исходный массив:');
  for i:= 1 to n do      // Вывод массива в консоль.
    begin
      write(a[i]:4);
      if i mod 10 = 0 then
        writeln;
    end;
  mindiff:= 2147483647;
  for i:= 1 to n-1 do
    for j:= i+1 to n do
       if abs(a[i] + a[j]) < mindiff then   // Условие для поиска элементов с нименьшей разницей по модулю.
         begin
           mindiff:= abs(a[i] + a[j]);
           ind1:= i;
           ind2:= j;
         end;
  writeln('Наименьшую разность по модулю дают элементы a[',ind1,'] и a[',ind2,'].');
Readln;
end.
0
0 / 0 / 0
Регистрация: 16.09.2019
Сообщений: 17
27.10.2019, 15:41  [ТС]
А можно пожалуйста еще блок-схему составить для программы?
0
0 / 0 / 0
Регистрация: 16.09.2019
Сообщений: 17
27.10.2019, 22:09  [ТС]
Когда я запускаю программу у меня выдает ошибки:
project1.pas(23,13) error: range check error while evaluating constants
project1.pas(34,4) Fatal: There were 1 errors compiling module, stopping
project1.pas(0) Fatal: Compilation aborted
Помогите пожалуйста разобраться
0
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
28.10.2019, 10:22
Цитата Сообщение от ValentinNemo Посмотреть сообщение
mindiff:= 2147483647;
попробуйте уменьшить это число на 1 или 2.

Добавлено через 1 минуту
Проверил еще раз. У меня все компилируется.
0
0 / 0 / 0
Регистрация: 16.09.2019
Сообщений: 17
28.10.2019, 11:30  [ТС]
А да, у меня все тоже компилируется, только я не понял что должно выводится, можете пожалуйста мне сказать, что программа должна выводить в итоге?
0
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
28.10.2019, 19:31
В программе была ошибка: вычислялась сумма, а нужно вычислять разность.
Цитата Сообщение от Ilya52001 Посмотреть сообщение
что программа должна выводить в итоге?
Да шут его знает. Что-то вычисляет и что-то выводит.
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
program Project1;
var
  a: array[1..50] of integer; // Переменная для хранения массива.
  n: integer; //   Переменная для хранения количества элементов массива.
  i,j: integer; // Вспомогательная переменная для организации цикла.
  mindiff: integer; //  Переменная для хранения значения разницы элементов.
  ind1, ind2: integer; // Переменные для хранения индексов элементов среди  которых ведется поиск.
begin
  write('Введите количество элементов массива: ');
  Readln(n);
  for i:= 1 to n do     // Ввод значений элементов вручную.
   begin
     write('Введите значение элемента ',i,': ');
     Readln(a[i]);
   end;
  writeln('Исходный массив:');
  for i:= 1 to n do      // Вывод массива в консоль.
    begin
      write(a[i]:4);
      if i mod 10 = 0 then
        writeln;
    end;
  mindiff:= 2147483646;
  for i:= 1 to n-1 do
    for j:= i+1 to n do
       if abs(a[i] - a[j]) < mindiff then   // Условие для поиска элементов с наименьшей разницей по модулю.
         begin
           mindiff:= abs(a[i] - a[j]);
           ind1:= i;
           ind2:= j;
         end;
  writeln('Наименьшую разность по модулю дают элементы a[',ind1,']= ',a[ind1],' и a[',ind2,']= ',a[ind2]);
Readln;
end.
0
0 / 0 / 0
Регистрация: 16.09.2019
Сообщений: 17
28.10.2019, 19:55  [ТС]
Спасибо вам большое за помощь! А вы могли бы еще пожалуйста нарисовать блок-схему, очень надо
0
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
28.10.2019, 20:37
Ilya52001, мне тупо лень это делать. Так что не обижайтесь, но не сделаю.
Есть бесплатные программы для этих целей. Попробуйте поискать их https://almiur.ru/show_prog_9.html
Я слышал хорошая программа FCEditor. Есть онлайн программы. Погуглите, может найдете.
0
0 / 0 / 0
Регистрация: 16.09.2019
Сообщений: 17
28.10.2019, 20:40  [ТС]
Ну ладно, все равно спасибо вам за помощь, вы меня очень выручили!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2019, 20:40
Помогаю со студенческими работами здесь

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

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

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

Написать программу, выполняющую поиск k-ой статистике в массиве. Все данные вводятся с клавиатуры!
Задание: 1.Написать программу, выполняющую поиск k-ой статистике в массиве. Все данные вводятся с клавиатуры! 2.Составить блок схему...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru