Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 25.02.2018, 20:32   #1
Родион Афанасьев
Новичок
Джуниор
 
Регистрация: 25.02.2018
Сообщений: 1
По умолчанию Помогите решить задачу,пожалуйста!!!вторую часть не могу решить.

Разработка в среде Turbo Pascal программы поиска двух ближайших элементов в массиве.
Дан целочисленный массив размера N.
1. Найти номера двух ближайших элементов из этого массива (то есть элементов с наименьшим модулем разности) и вывести эти номера в порядке возрастания.
2. Упорядочить нечетные по значению элементы второй четверти массива по убыванию обратных значений.
Для отладки программы исходный массив сформировать с помощью генератора случайных чисел.
Код:
program H_2o;
uses crt;
var
a: array[1..100] of integer;
i,j, n,x,index,del_min,del,v: integer;
begin
randomize;
write ('Введите размер массива до  100');
readln (n);
writeln ('Массив');
for i:=1 to n do
    begin
    a[i] := random(71);
    write(a[i]:4);
    end;
writeln;
index:=1;
del_min:=abs(a[1]-a[2]);
for i:=2 to n-1 do
begin
  del:= abs(a[i]-a[i+1]);
    if del < del_min then
     begin
       del_min:=del;
       index:=i;
     end;
 end;
Writeln('1)Индексы двух ближайших элементов', index:4,(index+1):4);
v:=n div 4;
for i:=v+1 to 2*v-1 do
for j:=i+1 to 2*v do
if(a[i] mod 2 =1)and(a[j] mod 2 =1)and (1/a[i]<1/a[j]) then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
Writeln('2) Массив после сортировки ');
for i:=1 to n do  write(a[i]:4);
readln ;
end.
вторая часть написана, но она не работает

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 26.02.2018 в 10:42.
Родион Афанасьев вне форума   Ответить с цитированием
Старый 03.03.2018, 20:44   #2
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Цитата:
Сообщение от Родион Афанасьев Посмотреть сообщение
Упорядочить нечетные по значению элементы второй четверти массива
Ух, злобный препод
Попробуйте написать процедуру сортировки. Используйте любой метод, проще, наверное, будет метод пузырька. Потом посмотрите код - у вас будет цикл вложенный в другой цикл. Тела циклов вложите в if ... then, который проверяет не-чётность значения текущего элемента.
СтудПом вне форума   Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста решить задачу. isyakin Помощь студентам 0 28.09.2013 20:10
нужно решить задачу,1 решил вторую не могу ,вот типа того должна выглядеть.. PROmot Помощь студентам 1 17.05.2012 10:12
Пожалуйста помогите решить задачу Answer26 Помощь студентам 1 23.12.2009 22:15
Помогите решить задачу, пожалуйста. Xenta Паскаль, Turbo Pascal, PascalABC.NET 1 25.05.2009 23:33
Помогите решить задачу, пожалуйста! Elizaveta Паскаль, Turbo Pascal, PascalABC.NET 1 10.11.2008 03:29