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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2011, 21:59   #1
antony sky
 
Регистрация: 08.05.2011
Сообщений: 4
Сообщение Две задачи на массивы (формирование нового массива и перестановка в массиве) (pascal abc)

Нужна помощь в двух задачах pascal abc.Помогите пожалуйста
1.Дан одномерный массив, который содержит не более 40 вещественных чисел. Составить новый массив, элементами которого будут отрицательные числа старого массива.
2.Дан одномерный массив, который содержит не более 60 вещественных чисел, среди которых есть положительные, отрицательные и нули. Переставить элементы массива так, чтобы сначала шли нули, потом отрицательные, а затем положительные элементы массива.

______________
Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
В последующем, темы с названием наподобие "Pascal ABC" будут закрываться или удаляться,
а автор такой темы будет получать штрафные баллы.
Учтите это на будущее.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.05.2011 в 22:27.
antony sky вне форума Ответить с цитированием
Старый 08.05.2011, 23:06   #2
rus12
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 53
По умолчанию

1)
Код:
const
n=40;
type
massiv=array[1..n] of real;
var
a,b:massiv;
i,s:integer;
begin
 randomize;
  for i:= 1 to n do
    begin
      a[i]:=random(100)-20;
    end;
  for i:= 1 to n do
    begin
       write(a[i]:1:2);
       write('   ');
    end;
 writeln(' novie massiv--------------');
  for i:= 1 to n do
       if a[i]<0 then
        begin
         b[i]:=a[i]; 
        write(b[i]:1:2);
         write(' ');
        end;
readln;
end.
2)
Код:
const
n=60;
type
massiv=array[1..n] of real;
var
a:massiv;
i:integer;
begin
 randomize;
  for i:= 1 to n do
    begin
      a[i]:=random(100)-20;
    end;
  for i:= 1 to n do
    begin
       write(a[i]:1:2);
       write('   ');
    end;
 writeln(' novie massiv--------------');
  for i:= 1 to n do
    if (a[i]=0) then
      begin
        write(a[i]:1:2);
        write(' ');
      end;
  for i:= 1 to n do
     if  (a[i]<0) then
       begin
         write(a[i]:1:2);
         write(' ');
       end;
  for i:= 1 to n do
      if  (a[i]>0) then
        begin
          write(a[i]:1:2);
          write(' ');
        end;
readln;
end.
Если помог напиши одобрение(иконка весов слева под ником)

Последний раз редактировалось rus12; 09.05.2011 в 17:06.
rus12 вне форума Ответить с цитированием
Старый 08.05.2011, 23:53   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Рус12 ты специально фигню пишешь? Нужно именно создавать массивы и переставлять элементы а не выводить их
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 09.05.2011, 00:02   #4
rus12
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 53
По умолчанию

Не нравится пиши свой вариант, а не тупо комментируй то что написано.
Если помог напиши одобрение(иконка весов слева под ником)
rus12 вне форума Ответить с цитированием
Старый 09.05.2011, 07:35   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
пиши свой вариант
Легко! по 1$ за задачку напишу)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 09.05.2011, 15:24   #6
rus12
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
по 1$ за задачку напишу)
Тогда я не пойму какие притензии у вас ко мне.
Если помог напиши одобрение(иконка весов слева под ником)
rus12 вне форума Ответить с цитированием
Старый 09.05.2011, 16:50   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

rus12

Цитата:
Сообщение от rus12
Тогда я не пойму какие притензии у вас ко мне
да никаких!

Просто оба ваших решения НЕПРАВИЛЬНЫЕ.

а претензий к Вам никаких нет...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.05.2011, 17:09   #8
rus12
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 53
По умолчанию

2 задача чем неправильная? Там просто нужно переставить элементы массива.
Если помог напиши одобрение(иконка весов слева под ником)
rus12 вне форума Ответить с цитированием
Старый 09.05.2011, 17:54   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
2 задача чем неправильная? Там просто нужно переставить элементы массива.
Точно. Ткните в строчку, где вы ПЕРЕСТАВЛЯЕТЕ элементы массива!
Поймите, что вывод элементов массива в другом порядке на экран НЕ ИЗМЕНЯЕТ порядок элементов в исходном массиве.
И у Вас массив остаётся такой же, как и был...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на Pascal ABC Lols Паскаль, Turbo Pascal, PascalABC.NET 1 28.04.2011 20:43
Программа должна оставить всего две строки! [Pascal ABC] Mirt Помощь студентам 1 07.12.2010 08:00
Формирование нового массива из данных в Делфи Юлия Алексеевна Помощь студентам 0 07.03.2010 13:53
2 задачи Pascal Abc Максим1987 Фриланс 3 15.06.2009 13:24
Помогите решить две задачи на массивы (Turbo Pascal) cinik Помощь студентам 2 23.05.2009 23:43