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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2011, 16:47   #1
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию Перенос элементов массива

Элементы массива отрицательные нужно перенести в одну часть, а положительные в другую...Помогите найти ошибку в коде
Код:
const
  Maxm = 100;

var
  a: array[1..Maxm] of integer;
  i, k, h, n, temp, code: integer;
  st1, st2: string;
  b: boolean;

begin
  writeln('Данная программа позволяет отсортировать массив');
  writeln('Введите размер массива (массив может содержать от 1 до 100 чисел)');
  repeat
    readln(st1);
    val(st1, n, code);
    if (code <> 0) or (n < 0) or (n > 100) then
      writeln('Вам необходимо ввсети размер массива, т.е. число, больше 0, но меньшее 100! Повторите ввод.');
  until (code = 0) and (n > 0) and (n < 100);
  for i := 1 to n do 
  begin
    writeln('Введите элемент массива');
    repeat
      readln(st2);
      val(st2, a[i], code);
      if code <> 0 then
        writeln('Вам необходимо ввести число.Повторите ввод');
    until (code = 0); 
  end;
  begin
    writeln('Исходный массив');
    for i := 1 to n do
      write(a[i]:3);
  end;
  h := n;
  k := 1;
  while k <= h do
  begin
    if a[k] >= 0 then 
    begin
      b := false;
      while (h > k) or (b = true) do 
      begin
        if a[h] < 0 then
        begin
          b := true;
          temp := a[k];
          a[k] := a[h];
          a[h] := temp;
        end;
        h := h - 1;
      end;
    end;
    k := k + 1;
    writeln;
    writeln('Новый массив');
    for i := 1 to n do
      write(a[i]:3);
    readln;
  end;
end.
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Старый 10.12.2011, 17:28   #2
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию

Народ спасайте
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...

Последний раз редактировалось McFrey; 10.12.2011 в 19:13.
McFrey вне форума Ответить с цитированием
Старый 10.12.2011, 23:49   #3
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию

Кто нибудь понял в чем дело?
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод элементов массива.Изменение элементов массива. Vesnushka18 Помощь студентам 6 09.06.2011 13:05
Записать в массив Z подряд семь нулевых элементов массива R,состоящего из N элементов.(Язык QBasic) Лиза) Помощь студентам 0 11.01.2011 16:02
Си. перенос элементов одного массива в другой Денни Помощь студентам 7 07.02.2010 15:34
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива HazelHen Общие вопросы C/C++ 2 29.03.2009 15:16