• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Паскаль, массивы, вставка

Натуличка

Новые
Регистрация
6 Фев 2012
Сообщения
46
Реакции
0
Баллы
0
Паскаль, массивы, вставка

в линейном массиве целых чисел на место минимального элемента вставить максимальный элемент.
что делать? нужно вводить i, n, max, min, i max. i min.
max и min я сама определяю. а что делать с i max. i min.? это же ячейки в которых расположены элементы, их я тоже определяю сама? Т.Е. если ввожу 20 ячеек, то мин=1 а мах=20?
 
Т.Е. если ввожу 20 ячеек, то мин=1 а мах=20?
Нет. Если минимальный элемент расположен в 17-й ячейке, а максимальный - в 3-й, то Imin=17, а Imax=3.
Я тут другого не понимаю - что за дебильная формулировка такая? Обычно требуется ввести только сам массив, а уж дело программы найти минимальный и максимальный элементы, их номера, а затем проделать требуемые манипуляции: перестановки, перезаписи и т.п. Вот нафига заранее вводить избыточную информацию?
 
так не я прошу, а требует преподаватель. но сколько я понаходила примеров и подобных задач я недолжна вводить ячейки, а только задавать элементы. вообщем моя задача зависла. вот какой решение задачи вижу я
var a, array [1..20] of integer;
i,n,max,min of integer;
begin
writeln ('ввод кол-во эл массива');
readln (n);
writeln ('ввод эл массива');
for i:=1 to n do
readln (a );
max:= a [1]
min:= a [1]
for i:=1 to n do
if a> min then
min:=a;
ДАЛЬШЕ Я ЗАПУТАЛАСЬ!!!!!!!!!
 
Дорогая Натуличка, мой Вам совет - установить на компьютер какой-либо пакет языка Паскаль, и любые программы запускать и отлаживать на компьютере, а не в тетрадке. По крайней мере, освоите синтаксис языка. Потому что любой транслятор, увидя такие перлы:
var a, array [1..20] of integer;
i,n,max,min of integer;
разразится матерной тирадой.
На всякий случай - правильно так:
var
a: array [1..20] of integer;
i,n,max,min: integer;
Теперь по программе.
Судя по всему, Вы решили пойти обычным путем, без ввода лишней информации. И правильно, потому что знаете, как выглядит задача, если исходить из "требований преподавателя"? А примерно так:
Даны три числа: 5, 17, и 41. Найти максимальное, равное 41, стоящее на третьей позиции.
Полный бред.
Так что если Вас устроит обычный алгоритм ввода и обработки массива, то это так:
Код:
const
 Nmax=100;
var
 a: array [1..Nmax] of integer;
 i,n,max,min,Imin,Imax: integer;
begin
 writeln ('ввод кол-во эл массива');
 readln (n);
 writeln ('ввод эл массива');
  for i:=1 to n do
   readln (a [i]);
 writeln;
 for i:=1 to n do write(a[i]:4);
 writeln;
 writeln;
 max:= a[1];
 min:= a[1];
 Imin:=1;
 Imax:=1;
 for i:=2 to n do
  begin
   if a[i]<min then
    begin
     min:=a[i];
     Imin:=i;
    end;
   if a[i]>max then
    begin
     max:=a[i];
     Imax:=i;
    end;
  end;
 a[Imin]:=a[Imax];
 for i:=1 to n do write(a[i]:4);
 readln
end.
 
спасибо за совет, у меня стоит одна программа, но не показывает результат. на синтаксис я пока не обращала внимание, так как главное было понять, а это я потом разберу.
во всяком случае спасибо за помощь и советы)
 
Назад
Сверху