Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 04.05.2016, 18:07   #1 (permalink)
gaben134
Member
 
Регистрация: 07.04.2016
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Четыре задачи в одной программе

Ранее я создал тему, где Евгений помог мне, огромное ему спасибо, но у меня вопрос, возможно ли эти 4 задания в одной программе объединить? Если кому не сложно помогите пожалуйста!
В одномерном массиве, состоящем из n вещественных элементов
1) вычислить сумму элементов массива, расположенных между первым
и вторым отрицательными элементами;
2) преобразовать массив таким образом, чтобы сначала располагались
все элементы, модуль которых не превышает 1, а потом – все
остальные;
3) упорядочить элементы массива по убыванию, используя
пузырьковую сортировку;
4) найти заданный элемент в упорядоченном массиве, используя
бинарный метод поиска.
gaben134 вне форума   Ответить с цитированием

Старый 04.05.2016, 18:07
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Посетителями нашего форума ранее создавалось что то похожее

Вирус не дает запуститься ни одной программе
Четыре легких задачи на Pascal
Помогите решить четыре задачи в Паскале
Четыре задачи на массивы
Все файлы запускаются в одной программе

Старый 04.05.2016, 21:04   #2 (permalink)
Евгений
Member
 
Аватар для Евгений
 
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
По умолчанию

Код:
uses  Crt;
const n=10;
type  Tmass=array[1..n] of Real;
var   a:Tmass;
      x,y,z,d:integer;
      sum,t:Real;
begin
      ClrScr;
       Writeln('Massiv:');
        Writeln;
         Randomize;
       for x:=1 to n do
        begin
          a[x]:=(Random(41)-20)/10;
          Write(a[x]:6:1);
        end;
         Writeln; Writeln;
       z:=0; sum:=0;
       for x:=1 to n do
        if a[x]<0 then
         begin
           y:=x;
           Inc(z);
           Break;
         end;
       if z=0
        then Writeln('Net otricatelnih elementov')
        else
         if y=n
          then Writeln('Net vtorogo otricatelnogo elementa')
          else
           begin
             for x:=y+1 to n do
              if a[x]<0
               then
                begin
                  Inc(z);
                  Break;
                end
               else sum:=sum+a[x];
             if z=2
              then Writeln('Summa elementov mezhdu 1 i 2 otricatelnimi = ',sum:4:1)
              else Writeln('Net vtorogo otricatelnogo elementa');
           end;
          Writeln;
       x:=1;
        repeat
           if x=1
            then Inc(x)
            else
             if Abs(a[x])<1
              then
               begin
                 t:=a[x];
                 for y:=x downto 2 do
                  a[y]:=a[y-1];
                 a[1]:=t;
                 Inc(x);
               end
              else Inc(x);
        until x>n;
       Writeln('Noviy massiv:');
        Writeln;
         for x:=1 to n do
          Write(a[x]:6:1);
       Writeln;
        Writeln;
       for x:=1 to n-1 do
        for y:=1 to n-x do
         if a[y]<a[y+1] then
          begin
            t:=a[y];
            a[y]:=a[y+1];
            a[y+1]:=t;
          end;
       Writeln('Massiv sortirovanniy po ubivaniju:');
        Writeln;
       for x:=1 to n do
        Write(a[x]:6:1);
       Writeln;
        Writeln;
         Write('Cislo dlja poiska = ');
          Readln(t);
           Writeln;
       z:=0; x:=1; y:=n;
        repeat
           d:=(x+y) div 2;
           if t=a[d] then
            begin
              z:=d;
              Break;
            end;
           if t<a[d]
            then x:=d+1
            else y:=d-1;
        until x>y;
       if z=0
        then Writeln('V massive net dannogo cisla')
        else Writeln('Dannoe cislo imeet poziciju - ',z);
      ReadKey;
end.
Евгений вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 18:59.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.