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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 27.05.2014, 20:43   #1
maxim1592
Новичок
Джуниор
 
Регистрация: 27.05.2014
Сообщений: 60
По умолчанию Задан целочисленный массив

Задан целочисленный массив, состоящий из n элементов (число n ввести с клавиатуры). Если число элементов окажется чётным, то максимальный элемент поместить в начало массива, а минимальный элемент поместить в конец массива, в противном случае удалить из массива все чётные элементы.
maxim1592 вне форума
Старый 27.05.2014, 21:43   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Нахождение максимума (минимума) найти можно тут:
http://programmersforum.ru/showthread.php?t=70310
ZX Spectrum-128 вне форума
Старый 28.05.2014, 00:44   #3
maxim1592
Новичок
Джуниор
 
Регистрация: 27.05.2014
Сообщений: 60
По умолчанию

"Если число элементов окажется чётным, то максимальный элемент поместить в начало массива, а минимальный элемент поместить в конец массива, в противном случае удалить из массива все чётные элементы."
В программе минимальный элемент меняется местами с максимальным. Как сделать чтобы выполнялось условие которое в ковычках????
Код:
Program ReplaceMinAndMax;
Var
 Matrix:Array[1..3,1..3] of Byte = (1,2,3,4,5,6,7,8,9);
 PP:Byte;
 Max,Min:Byte;
 XMin,YMin,XMax,Ymax:Byte;
 X,Y:Byte;
Begin
 XMin := 1;
 YMax := 1;
 XMax := 1;
 YMax := 1;
 Max := Matrix[1,1];
 Min := Matrix[1,1];
 For Y := 1 to 3 do
  For X := 1 to 3 do
   Begin
    If Matrix[X,Y] > Max Then  Begin Max := Matrix[X,Y]; XMax := X; YMax := Y; End;
    If Matrix[X,Y] < Max Then Begin Min := Matrix[X,Y]; XMin := X; YMin := Y; End;
   End;
 PP := Matrix[XMax,YMax];
 Matrix[XMax,YMax] := Matrix[Xmin,YMin];
 Matrix[XMin,YMin] := PP;
End.

Последний раз редактировалось Stilet; 28.05.2014 в 08:07.
maxim1592 вне форума
Старый 28.05.2014, 08:28   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Массив, скорее всего одномерный. Нужно переписать код под одномерный массив.
И удаление элемента делается сдвигом массива влево, который также описан по ссылке.
Пример:
1 2 3 4 5
Нужно удалить третий элемент. Сдвигаете элементы влево
Получается
1 2 4 5 5
Для статических массивов хвост массива либо обнуляют, либо не показывают при выводе.
Для динамических используют процедуру setlength(a,n-1)
Где n - размерность массива. Setlength при переназначении длины массива оставит в данном случае 4 элемента, последний же удалит.
Окончательно получим удаление третьего элемента.
ZX Spectrum-128 вне форума
Старый 28.05.2014, 14:15   #5
maxim1592
Новичок
Джуниор
 
Регистрация: 27.05.2014
Сообщений: 60
По умолчанию

что-то не получается...напишите программу
maxim1592 вне форума
Старый 28.05.2014, 20:10   #6
maxim1592
Новичок
Джуниор
 
Регистрация: 27.05.2014
Сообщений: 60
По умолчанию

помогите код программы написать, завтра последний срок, очень нужно...

Последний раз редактировалось maxim1592; 28.05.2014 в 22:06.
maxim1592 вне форума
Старый 31.05.2014, 16:31   #7
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Максимальный элемент с минимальным поменяйте самостоятельно.
Код:

const
  nmax = 100;
var
  arr: array[1..nmax] of integer;
  temp,max,min,imax,imin,n,i, j, m: integer;
begin
  randomize;
  write('Введите размерность массива: ');
  readln(n);

  for i := 1 to n do
    begin
      arr[i] := random(50)-25;
      write(arr[i]:4);
    end;
  writeln;
  if not odd(n) then
    begin
      max:=arr[1]; min:=arr[1];imax:=1;imin:=1;
      for i := 2 to n do
        begin
          if arr[i]>max then
            begin
              max:=arr[i];
              imax:=i;
            end;
          if arr[i]<min then
            begin
              min:=arr[i];
              imin:=i;
            end;
        end;
      writeln('Максимальный элемент = ',max,' в позиции ',imax);
      writeln('Минимальный элемент = ',min,' в позиции ',imin);
    end
  else
    begin
      m := n;
      i := 1;
      while i <= m do
        if not odd(arr[i]) then
          begin
            for j := i to m - 1 do
              arr[j] := arr[j+1];
            m := m - 1
          end
        else
          i := i + 1;
    end;
  for i:= 1 to m do
    write(arr[i]:4);
  readln;
end.
ZX Spectrum-128 вне форума
Старый 31.05.2014, 19:39   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

http://programmersforum.ru/showthread.php?t=261697
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума
Старый 31.05.2014, 19:42   #9
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию


Наплодил тс тем, черт ногу сломает.
ZX Spectrum-128 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задан целочисленный вектор X размерностью n Игорь Обухов Паскаль, Turbo Pascal, PascalABC.NET 4 06.05.2014 18:17
Задан массив a1, a2, …, an. Если массив упорядочен, то оставить без изменений, иначе переставить элементы ( Delphi ) Natashakosmos Помощь студентам 1 10.01.2014 22:44
Задан целочисленный одномерный массив A из N элементов. Найти номер последне Vladimir Ryabov Фриланс 5 01.11.2011 13:21
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W leha_demi Помощь студентам 2 24.09.2011 18:12