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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2010, 22:36   #1
Bapr
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 18
По умолчанию pascal одномерные массивы

Создать массив целых чисел M[1..N], в котором могут быть нули. Последовательность чисел до первого нуля, между нулями и от последнего нуля до последнего числа назовем серией. Отсортировать массив М по убыванию количества чисел в каждой серии.
Bapr вне форума Ответить с цитированием
Старый 25.03.2010, 22:37   #2
Bapr
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 18
По умолчанию

Код:
uses crt;
const n=20;
m=10;
var a:array[1..n] of integer;
b:array[1..n] of integer;
c:array[1..10,1..3] of integer;
i,y,j,k,t,col,x:integer;
begin
c[1,1]:=1;
y:=1;
j:=1;
t:=1;
clrscr;
randomize;
k:=1;
writeln('Ishodnyy massiv');
for i:=1 to n do begin
                 a[i]:=random(10)-5;
                 write(a[i]:3);
                 if a[i]=0 then begin
                     c[k,2]:=i;
                     c[k,3]:=c[k,2]-c[k,1]+1;
                           inc(k);
                    c[k,1]:=i+1;
                    end;
end;
c[k,2]:=n;
c[k,3]:=c[k,2]-c[k,1];

          for y:=1 to k do begin
          for j:=1 to 3 do begin
          write(c[y,j]:4);
          end;
          writeln;
          end;
          readkey;

          for i:=1 to m-1 do
          for j:=i+1 to 3 do
          if c[i,3]>c[j,3] then
          for t:=1 to 3 do
          begin
          x:=c[i,t];
          c[i,t]:=c[j,t];
          c[j,t]:=x;
          end;
          writeln;

                    for y:=1 to k do begin
          for j:=1 to 3 do begin
          write(c[y,j]:4);
          end;
          writeln;
          end;
          readkey;
          i:=1;
for y:=1 to k do begin
                 t:=c[y,1];
                 while t<>c[y,2] do begin b[i]:=a[t]; inc(i); inc(t); end;
                 end;
for i:=1 to n do write(b[i]:3);
readkey;
end.
Bapr вне форума Ответить с цитированием
Старый 25.03.2010, 22:37   #3
Bapr
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 18
По умолчанию

немного не так работает =(
Bapr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal Одномерные массивы Repz1992 Помощь студентам 3 23.12.2009 20:22
ОДНОМЕРНЫЕ МАССИВЫ Pascal serafima_92 Помощь студентам 6 24.09.2009 10:51
Одномерные массивы 2 (Pascal) Дима82 Помощь студентам 4 16.02.2009 21:21
Одномерные массивы(Pascal) Дима82 Помощь студентам 7 07.06.2008 15:33
Одномерные массивы - Pascal W_P Помощь студентам 8 27.02.2008 19:24