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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2010, 00:46   #1
Marfeys
 
Регистрация: 23.11.2010
Сообщений: 9
По умолчанию Одномерный массив....

В программе вводится массив из 15 элементов.Затем все нули перестанавливаются в конец...

Входные данные:
1,0,1,1,1,1,..,1
Выходные:
1,1,1,1,..,1,1,0

Как переставить нули в начало ???
Чтобы выходные данные были
0,1,1,1,..1.

Код программы где нули вконце:
Код:
Program name3;
Uses CRT;
Const N=15;
      FindElem=0;
Var A:Array[1..N] Of Integer;
    I,J,M:Integer;

Procedure DeleteElem(S:Integer);
Var J:Integer;
Begin
     For J:=S To N-1 Do
     Begin
          A[J]:= A[J+1];
     End;
End;

BEGIN
Writeln('Programma postavit vna4alo vse nylevie elementi');
     For I:=1 To N Do
   Readln(a[i]);
     I:=1;
     M:=N;

     While I<=M Do
     Begin
          If A[I]=FindElem Then
             Begin
                  DeleteElem(I);
                  A[M]:=FindElem;
                  Dec(M);
             End
          Else
              Inc(I);
     End;
      Writeln('rezyltat');
     For I:= 1 To N Do Write(A[I]:3);
END.

Последний раз редактировалось Stilet; 01.12.2010 в 17:25.
Marfeys вне форума Ответить с цитированием
Старый 01.12.2010, 10:03   #2
Zevsnet
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 10
По умолчанию

А не проще ли в твоей программе просто поменять константу FindElem=0; на FindElem=1; заменив 0 на 1... тем самым ты будешь все 1 смещать в конец.. , а 0 у тебя все будут в начале
Zevsnet вне форума Ответить с цитированием
Старый 01.12.2010, 16:59   #3
Marfeys
 
Регистрация: 23.11.2010
Сообщений: 9
По умолчанию Ну это конкретный случай,а мне бы в целом...

А если в массиве не только нули и единицы....
Marfeys вне форума Ответить с цитированием
Старый 01.12.2010, 17:13   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от Marfeys Посмотреть сообщение
А если в массиве не только нули и единицы....
Значит делай сортировку , с проверкой на ноль . Если ноль , то переставляй его и все .
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Одномерный массив. Jane-sad Помощь студентам 2 06.10.2010 14:21
Одномерный массив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Одномерный массив. medic357 Общие вопросы C/C++ 1 23.03.2009 19:39