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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2010, 15:02   #1
vova6161
 
Регистрация: 07.12.2010
Сообщений: 8
Вопрос Одномерный массив

Последовательность a1, a2, …,an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.
Моя нерабочая программа
Код:
program p5a;
  var
   A:array[1..20] of integer;
   i,n,J,k:integer;
   begin
   write('vvedite n=');
   readln(n);
   for i:=1 to n do
   begin
   write('vvedite A[',i,']=');
   readln(A[i]);
   end;
   J:=1;
   for i:=1 to n do
   if A[i]=0 then
   begin
   k:=A[i];
   A[i]:=A[J];
   A[J]:=k;
   inc(J);
   end;
   for i:=1 to n do
   begin
   write(A[i],' ');
   end;
   readln;
   end.
Помогите пожалуйста

Оформляем код правильно

Последний раз редактировалось alex_fcsm; 10.12.2010 в 15:37.
vova6161 вне форума Ответить с цитированием
Старый 10.12.2010, 15:17   #2
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Цитата:
Сообщение от vova6161 Посмотреть сообщение
Последовательность a1, a2, …,an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.
Самое простое посчитай количество нулей(или единиц), а потом заполни первые N элементов (N=количеству нулей) нулями, остальную часть массива единицами.
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 10.12.2010, 16:00   #3
vova6161
 
Регистрация: 07.12.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от rubius2008 Посмотреть сообщение
Самое простое посчитай количество нулей(или единиц), а потом заполни первые N элементов (N=количеству нулей) нулями, остальную часть массива единицами.
Спасибо, а как первые N элементов заполнить нулями, а остальную часть массива единицами?
Я попытался сделать так:
var
A:array[1..20] of integer;
i,n,J,k:integer;
begin
write('vvedite n=');
readln(n);
for i:=1 to n do
begin
write('vvedite A[',i,']=');
readln(A[i]);
end;
j:=0;
for i:= 1 to n do
if A[i]=0 then j:=j+1;
for i:=1 to j do
a[i]:=0;
for i:=j to n do
a[i]:=1;
write(a[i]);
end.
но ничего не вышло

Последний раз редактировалось vova6161; 10.12.2010 в 16:21.
vova6161 вне форума Ответить с цитированием
Старый 10.12.2010, 17:44   #4
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Цитата:
...
for i:=j to n do
a[i]:=1;
write(a[i]);
end.
но ничего не вышло
это исправить на
Код:
for i:=j+1 to n do a[i]:=1;
for i:=1 to n do write(a[i],' ');
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 10.12.2010, 18:25   #5
vova6161
 
Регистрация: 07.12.2010
Сообщений: 8
По умолчанию

Спасибо огромное
vova6161 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28
Одномерный массив. True_girl Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 05.07.2010 15:08
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Одномерный массив Nataly1992 Помощь студентам 7 20.12.2009 16:26
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40