Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2018, 19: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 в 09:42.
Родион Афанасьев вне форума Ответить с цитированием
Старый 03.03.2018, 19:44   #2
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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