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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2015, 18:30   #1
Evgenii_95
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 18
По умолчанию Паскаль.Одномерный массив.

дан вещественный массив a размером n(n=10).переставить элементы массива таким образом,чтобы в начале в массиве шла группа элементов больших первого элемента в исходном массиве,потом-группа элементов меньших или равных ему.

Последний раз редактировалось Evgenii_95; 28.05.2015 в 18:54.
Evgenii_95 вне форума Ответить с цитированием
Старый 28.05.2015, 18:46   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
дан вещественный массив a размером n(n=1).
Ну если n=1, то так:
Код:
var
  a: array[1..1] of real;
  i: integer;
 begin
   for i := 1 to 1 do
     read(a[i]);
   {т.к. n=1, то все элементы уже на своих местах}
   for i := 1 to 1 do
     writeln(a[i]);
 end.
Arigato вне форума Ответить с цитированием
Старый 28.05.2015, 18:58   #3
Evgenii_95
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 18
По умолчанию Не 1 а 10

Поторопился с вводом поэтому не 1 а 10
Evgenii_95 вне форума Ответить с цитированием
Старый 28.05.2015, 20:25   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Заготовка есть у вас, подставляйте 10 и дописывайте немного кода.
Arigato вне форума Ответить с цитированием
Старый 29.05.2015, 05:31   #5
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
const n=10;
var p:array[1..10] of real;
    i,j,k:byte;
    z,p1:real;
begin
   Randomize;
   For i:=1 to n do
      Readln(p[i]);
   p1:=p[1];
   k:=1;
   For i:=2 to n do
      If p[i]>p1 then
      begin
         z:=p[k];
         p[k]:=p[i];
         For j:=i downto k+2 do
            p[j]:=p[j-1];
         k:=k+1;
         p[k]:=z;
      end;
   For i:=1 to n do
      Write(p[i]:2:0,'  ');
   Readln;
end.
Сойдет?
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 29.05.2015, 10:12   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Сойдет?
Нет. Сложность-то какая!
Poma][a вне форума Ответить с цитированием
Старый 29.05.2015, 10:26   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
  Readln(p1);
  k1:=1; k2:=10;
  For i:=2 to 10 do begin
    Readln(p2);
    if p2>p1 then begin p[k1]:=p2; Inc(k1); end
             else begin p[k2]:=p2; Dec(k2); end;
  end;
  p[k1]:=p1;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив одномерный паскаль Ann2807 Помощь студентам 3 26.12.2012 17:11
паскаль: одномерный массив Lada05 Помощь студентам 2 10.11.2010 13:54
Одномерный массив.Паскаль **star** Помощь студентам 1 05.11.2009 19:52
Одномерный массив, паскаль. ene21 Помощь студентам 1 02.10.2009 14:39
Паскаль. Одномерный массив deceiver Помощь студентам 7 21.03.2009 15:12