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

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

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

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

Помогите решить. Паскаль

Ириночка

Ученик
Регистрация
11 Окт 2011
Сообщения
1
Реакции
0
Баллы
0
Помогите решить. Паскаль

18. В одномерном массиве, состоящем из n вещественных элементов, вычислить минимальный элемент и поменять его с последним
[mod2]Ириночка, у нас рассовывывание сообщений по чужим темам, равно как и клонирование топиков, НЕ ДОПУСКАЕТСЯ.
Дубликат удален.

Модератор.[/mod2]
 
Код:
program t1;
 const n=5;
 var a: array [1..n] of real;
 i,k:integer;
 t,min:real; 
 begin
   randomize;
   for i:=1 to n do
        a[i]:=random(100)+1;
   writeln;
   for i:=1 to n do
        write(a[i]:5:2,'  ');
   min:=a[1];
   k:=1;
   for i:=1 to n do
       if (a[i]<=min) then begin
                             min:=a[i];
                             k:=i;
                           end;
   t:=a[n];
   a[n]:=a[k];
   a[k]:=t;
   writeln;
   for i:=1 to n do
        write(a[i]:5:2,'  ');
 end.
 
Вообще конечно такие простые задачки нужно уметь делать самому дамочка...
const
n = 10;//размерность массива
m = 120;//максимально возможное значение в массиве
var
a: array[1..n] of integer;
i: integer;
minX: array[1..2] of integer;
begin
minX[1]:=m;
for i:=1 to n do a:=random(m);//заполняем масив случайно

writeln('исходные элементы массива:');
for i:=1 to n do write(a:5);
writeln();

//Ищим минимальный
for i:=1 to n do
begin
if a<minX[1] then
begin
minX[2]:=i;
minX[1]:=a
end;
end;

//Меняем местами с последним
a[minX[2]]:=a[n];
a[n]:=minX[1];

writeln('Преобразованный массив:');
for i:=1 to n do write(a:5);
end.
 
Вообще конечно такие простые задачки нужно уметь делать самому дамочка...
Во-первых, попрошу повежливее, а то такая формулировка, будучи, безусловно, правильной по сути, выходит на грань хамства, что у нас не допускается.
Во-вторых, уж если Вы решили помочь и написать программу, то большая просьба - делать это внимательно и без ошибок. Либо не делать вовсе. Потому что если Вы выкладываете неряшливо написанную программу, то от этого страдает репутация нашего форума, что лично мне, например, отнюдь не безразлично.
Претензии к Вашему коду:
1. В условии задачи говорится о массиве вещественных элементов - на каком таком основании Вы объявляете целочисленный массив? Потому что так удобнее и приятнее? Не пойдёт.
2. Если Вы используете псевдослучайные числа, то необходимо командой Randomize инициализировать генератор. Без этого программа хоть и будет выполняться, но некорректно.
3. Если предусмотрен экранный вывод, то в конце очень желательно поставить оператор Readln; - это остановит выполнение программы и позволит рассмотреть результат.
С учетом вышеизложенного:
Код:
const
 n = 10; //размерность массива
var
 a: array[1..n] of real;
 i,i_min: integer;
 min:real;
begin
 Randomize;
 for i:=1 to n do
  a[i]:=random*100; //заполняем масив случайно
 min:=a[1];
 i_min:=1;

 writeln('исходные элементы массива:');
 for i:=1 to n do
  write(a[i]:8:3);
 writeln;

 //Ищем минимальный
 for i:=2 to n do
  if a[i]<min then
   begin
    i_min:=i;
    min:=a[i]
   end;

//Меняем местами с последним
 a[i_min]:=a[n];
 a[n]:=min;

 writeln('Преобразованный массив:');
 for i:=1 to n do
  write(a[i]:8:3);

 readln;
end.
P.S. А росомаха пишется с одним "с". Но это так, к слову.
 
Во-первых, попрошу повежливее, а то такая формулировка, будучи, безусловно, правильной по сути, выходит на грань хамства, что у нас не допускается.
Не хотел никого обидеть, на мой взгляд вполне уместная фраза

Во-вторых, уж если Вы решили помочь и написать программу, то большая просьба - делать это внимательно и без ошибок. Либо не делать вовсе. Потому что если Вы выкладываете неряшливо написанную программу, то от этого страдает репутация нашего форума, что лично мне, например, отнюдь не безразлично.
1. В условии задачи говорится о массиве вещественных элементов - на каком таком основании Вы объявляете целочисленный массив? Потому что так удобнее и приятнее? Не пойдёт.
Каюсь, невнимательно прочитал задание, но сути это не меняет.
2. Если Вы используете псевдослучайные числа, то необходимо командой Randomize инициализировать генератор. Без этого программа хоть и будет выполняться, но некорректно.
Согласен такой генератор будет качественнее, но в задаче не было условий на заполнение массива - это ,можно сказать инициатива, поэтому реализовал самый простой вариант, чтобы не перегружать пример лишним кодом. к тому же качество рандома в данном случае некритично.
3. Если предусмотрен экранный вывод, то в конце очень желательно поставить оператор Readln; - это остановит выполнение программы и позволит рассмотреть результат.
Признаю, на паскале не писал с института и это вылетело из головы
P.S. А росомаха пишется с одним "с". Но это так, к слову.
В таком случае следовало бы написать wolverine или rosomaha... В приведенном же мною слове корнем является "Ross":tehnari_ru_889:
 
В таком случае следовало бы написать wolverine или rosomaha... В приведенном же мною слове корнем является "Ross"
offtopic.gif О! Тогда - дело другое. Как там у Зощенко - "что пардон, то пардон!". Видимо, имеется в виду российский вариант гойевской Махи? Кстати, это я сегодня видел - иду на работу, а навстречу - баба лет 40, пьяная, растрепанная, на плечи небрежно наброшена драная накидка, под ней - абсолютно ничего. Сразу как-то Гойя вспомнился. :D
 
off topic: Нет, с "Махой" это не связано.
 
Назад
Сверху