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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2018, 00:30   #1
Grue
Новичок
Джуниор
 
Регистрация: 08.01.2018
Сообщений: 2
По умолчанию Паскаль.Массивы.Перестановка эл-в

Дан целочисленный вектор а(n).Найти наименьшее из четных чисел,определить его индекс и поменять местами с макс. элементом.Вывести исходный вектор,полученный результат и преобразованный вектор.
Ребят,объясните плиз,что я делаю не так.
Код:
program zadanie2;
  const n=10;
  var a: array[1..n] of integer;
      i,min,max,minind,z: integer;
    begin
      min:=maxint;
      writeln('Введите ',n,' элементов массива:' );
         for i:=1 to n do
             read(a[i]);
          for i:=1 to n do 
            if (a[i] mod 2=0)and(a[i]<min) then 
              begin 
                 min:=a[i];
                 minind:=i;
              end;
        writeln('Минимальный четный элемент: ',min);
        writeln('Индекс минимального четного элемента: ',minind);
      max:=a[i];
      for i:=2 to n do 
          if a[i]>max then max:=a[i];
             Writeln('Максимальный элемент массива:',max);
            i:=min;
            min:=max;
            max:=i;
          for i:=1 to n do
          write(a[i],' ');
   end.
задач.jpg

Последний раз редактировалось Grue; 10.01.2018 в 00:35.
Grue вне форума Ответить с цитированием
Старый 10.01.2018, 05:15   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

1) При поиске максимума тоже надо фиксировать ещё и индекс, чтобы поменять элементы. Посмотрите, как это сделано при поиске мимнимума:
Код:
              begin 
                 min:=a[i];
                 minind:=i;
              end;
2) Ну и поменять же потом местами надо a[minind] и a[maxind].
Black Fregat вне форума Ответить с цитированием
Старый 10.01.2018, 13:18   #3
Grue
Новичок
Джуниор
 
Регистрация: 08.01.2018
Сообщений: 2
По умолчанию

Спасибо!
Grue вне форума Ответить с цитированием
Старый 10.01.2018, 13:47   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

а нахрена 2 цикла?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 10.01.2018, 14:00   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
а нахрена 2 цикла?
так их четыре
один для ввода, два для поиска экстремумов и один для вывода.

согласен, вполне можно обойтись двумя циклами - в одном вводить и искать индексы,
во-втором — вывести результат.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Перестановка символов. Versifikator Помощь студентам 4 06.12.2014 19:26
Массивы: переворот, сдвиг вправо, перестановка _Лето_ Общие вопросы C/C++ 1 29.11.2013 15:12
МАССИВЫ.ПЕРЕСТАНОВКА vralayala Паскаль, Turbo Pascal, PascalABC.NET 4 20.09.2013 09:43
Паскаль. Строки.Перестановка слов. Анастасия*** Помощь студентам 0 09.01.2012 01:40
Перестановка цифр в целом числе. Паскаль. Cheetah Помощь студентам 5 16.10.2008 21:07